═══ 1. Presentation Manager Functions Related to the Workplace Shell ═══ This section contains an alphabetical list of the Presentation Manager (PM) functions which are available to the application for using and controlling Workplace Shell objects. ═══ 1.1. WinCopyObject ═══ ═══ WinCopyObject - Syntax ═══ /*******************************************/ /* This function is specific to version 3, */ /* or higher, of the OS/2 operating */ /* system. This function copies an object */ /* from its existing location to a */ /* specified new destination. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT hObjectofObject; /* Handle of the Workplace Shell object being copied. */ HOBJECT hObjectofDest; /* Handle of the destination folder into which hObjectofObject is to be copied. */ ULONG ulFlags; /* Flags. */ HOBJECT rc; /* Handle of the newly created object. */ rc = WinCopyObject(hObjectofObject, hObjectofDest, ulFlags); ═══ WinCopyObject Parameter - hObjectofObject ═══ hObjectofObject (HOBJECT) - input Handle of the Workplace Shell object being copied. ═══ WinCopyObject Parameter - hObjectofDest ═══ hObjectofDest (HOBJECT) - input Handle of the destination folder into which hObjectofObject is to be copied. ═══ WinCopyObject Parameter - ulFlags ═══ ulFlags (ULONG) - input Flags. COPY_FAILIFEXSTS ═══ WinCopyObject Return Value - rc ═══ rc (HOBJECT) - returns Handle of the newly created object. A return value of NULLHANDLE indicates that either hObjectofDest is NULLHANDLE or an object with the same name as hObjectofObject exists in the destination folder. ═══ WinCopyObject - Parameters ═══ hObjectofObject (HOBJECT) - input Handle of the Workplace Shell object being copied. hObjectofDest (HOBJECT) - input Handle of the destination folder into which hObjectofObject is to be copied. ulFlags (ULONG) - input Flags. COPY_FAILIFEXSTS rc (HOBJECT) - returns Handle of the newly created object. A return value of NULLHANDLE indicates that either hObjectofDest is NULLHANDLE or an object with the same name as hObjectofObject exists in the destination folder. ═══ WinCopyObject - Remarks ═══ Using HOBJECTs for .INI files or files in which an application uses a rename/save/delete sequence is not supported. Its REXX counterpart is SysCopyObject. ═══ WinCopyObject - Errors ═══ Possible returns from WinGetLastError WPERR_INVALID_FLAGS (0x1719) An invalid flag was specified. ═══ WinCopyObject - Related Functions ═══ o WinCreateObject. o WinDestroyObject o WinMoveObject o WinQueryObjectWindow o WinSaveObject ═══ WinCopyObject - Example Code ═══ This example copies the drives object into the startup folder; the drives folder will be opened at the startup of the system. #define INCL_WINWORKPLACE #include "os2.h" HOBJECT hObjectofDest; HOBJECT hObjectofObject; HOBJECT hObjectofResult; hObjectofObject = WinQueryObject(""); if (hObjectofObject != NULL) { /* WinQueryObject of Drives was successful */ hObjectofDest = WinQueryObject(""); if (hObjectofDest != NULL) { /* WinQueryObject of Startup was successful */ hObjectofResult = WinCopyObject(hObjectofObject, hObjectofDest,CO_FAILIFEXISTS); if (hObjectofResult != NULL) { /* Drives Object was successfully copied to the Startup Folder */ } else { /* Copy failed */ } ═══ WinCopyObject - Topics ═══ Select an item: Syntax Parameters Returns Errors Remarks Example Code Related Functions Glossary ═══ 1.2. WinCreateObject ═══ ═══ WinCreateObject - Syntax ═══ /*******************************************/ /* This function creates an instance of */ /* object class pszClassName, with title */ /* pszTitle, and places the icon and title */ /* in the location referred to by */ /* pszLocation. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pszClassName; /* Pointer to class name. */ PSZ pszTitle; /* Pointer to initial title of object. */ PSZ pszSetupString; /* Pointer to setup string. */ PSZ pszLocation; /* Folder location. */ ULONG ulFlags; /* Creation flags. */ HOBJECT rc; /* Handle to the created object. */ rc = WinCreateObject(pszClassName, pszTitle, pszSetupString, pszLocation, ulFlags); ═══ WinCreateObject Parameter - pszClassName ═══ pszClassName (PSZ) - input Pointer to class name. A pointer to a zero-terminated string which contains the name of the class of which this object is a member. ═══ WinCreateObject Parameter - pszTitle ═══ pszTitle (PSZ) - input Pointer to initial title of object. A pointer to a zero-terminated string which contains the initial title of the object as it is to appear when displayed on the user interface underneath an icon or on the title bar of an open object. ═══ WinCreateObject Parameter - pszSetupString ═══ pszSetupString (PSZ) - input Pointer to setup string. See WPLaunchPad for a table of setup strings used to customize the Launch Pad. ═══ WinCreateObject Parameter - pszLocation ═══ pszLocation (PSZ) - input Folder location. This value can be in any of the following formats: o Predefined object ids of system folders. "" The hidden folder. "" The currently active desktop. "" The System folder. "" The Templates folder. "" The System Setup folder. "" The Startup folder. "" The Information folder. "" The Drives folder. o Real name specified as a fully qualified path name. ═══ WinCreateObject Parameter - ulFlags ═══ ulFlags (ULONG) - input Creation flags. This parameter can have one of the following values: CO_FAILIFEXISTS No object will be created if an object with the given object ID already exists. This is the default. CO_REPLACEIFEXISTS If an object with the given ID already exists, the existing object should be replaced. CO_UPDATEIFEXISTS If an object with the given ID already exists, the existing object should be updated with the new information. ═══ WinCreateObject Return Value - rc ═══ rc (HOBJECT) - returns Handle to the created object. NULLHANDLE Error occurred. Other A handle to the object created. This handle is persistent and can be used for the WinSetObjectData and WinDestroyObject function calls. ═══ WinCreateObject - Parameters ═══ pszClassName (PSZ) - input Pointer to class name. A pointer to a zero-terminated string which contains the name of the class of which this object is a member. pszTitle (PSZ) - input Pointer to initial title of object. A pointer to a zero-terminated string which contains the initial title of the object as it is to appear when displayed on the user interface underneath an icon or on the title bar of an open object. pszSetupString (PSZ) - input Pointer to setup string. See WPLaunchPad for a table of setup strings used to customize the Launch Pad. pszLocation (PSZ) - input Folder location. This value can be in any of the following formats: o Predefined object ids of system folders. "" The hidden folder. "" The currently active desktop. "" The System folder. "" The Templates folder. "" The System Setup folder. "" The Startup folder. "" The Information folder. "" The Drives folder. o Real name specified as a fully qualified path name. ulFlags (ULONG) - input Creation flags. This parameter can have one of the following values: CO_FAILIFEXISTS No object will be created if an object with the given object ID already exists. This is the default. CO_REPLACEIFEXISTS If an object with the given ID already exists, the existing object should be replaced. CO_UPDATEIFEXISTS If an object with the given ID already exists, the existing object should be updated with the new information. rc (HOBJECT) - returns Handle to the created object. NULLHANDLE Error occurred. Other A handle to the object created. This handle is persistent and can be used for the WinSetObjectData and WinDestroyObject function calls. ═══ WinCreateObject - Remarks ═══ The pszSetupString contains a series of "keyname=value" pairs, that change the behavior of the object. "keynames" are separated by semicolons, and "values" are separated by commas. "key=value;key2=value1,value2;" If you want a literal comma or a literal semicolon inside one of your fields you must type the following: ^, A literal comma. ^; A literal semicolon. Each object class documents the keynames and the parameters it expects to see immediately following. See the following keyname-value pairs tables: o WPColorPalette o WPDisk o WPFolder o WPFontPalette o WPKeyboard o WPLaunchPad o WPPalette o WPPrinter o WPRPrinter o WPProgram o WPProgramFile o WPSchemePalette o WPShadow o WPObject Note that ALL parameters have safe defaults, so it is never necessary to pass unnecessary parameters to an object. For more information about object classes, see the Workplace Shell Programming Guide. Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. ═══ WinCreateObject - Related Functions ═══ o WinDeregisterObjectClass o WinDestroyObject o WinRegisterObjectClass o WinReplaceObjectClass o WinSetObjectData ═══ WinCreateObject - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.3. WinCreateShadow ═══ ═══ WinCreateShadow - Syntax ═══ /*******************************************/ /* This function is specific to version 3, */ /* or higher, of the OS/2 operating */ /* system. This function creates a shadow */ /* of an object and places it in a */ /* specified location. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT hObjectofObject; /* Handle of the object from which the shadow is to be created. */ HOBJECT hObjectofDest; /* Handle of the folder into which hObjectofObject is to be placed. */ ULONG ulReserved; /* Reserved value. Should be NULL. */ HOBJECT rc; /* Handle of the newly created shadow object. */ rc = WinCreateShadow(hObjectofObject, hObjectofDest, ulReserved); ═══ WinCreateShadow Parameter - hObjectofObject ═══ hObjectofObject (HOBJECT) - input Handle of the object from which the shadow is to be created. ═══ WinCreateShadow Parameter - hObjectofDest ═══ hObjectofDest (HOBJECT) - input Handle of the folder into which hObjectofObject is to be placed. ═══ WinCreateShadow Parameter - ulReserved ═══ ulReserved (ULONG) - input Reserved value. Should be NULL. ═══ WinCreateShadow Return Value - rc ═══ rc (HOBJECT) - returns Handle of the newly created shadow object. A return value of NULLHANDLE indicates that either hObjectofDest is NULLHANDLE or an object with the same name as hObjectofObject exists in the destination folder. ═══ WinCreateShadow - Parameters ═══ hObjectofObject (HOBJECT) - input Handle of the object from which the shadow is to be created. hObjectofDest (HOBJECT) - input Handle of the folder into which hObjectofObject is to be placed. ulReserved (ULONG) - input Reserved value. Should be NULL. rc (HOBJECT) - returns Handle of the newly created shadow object. A return value of NULLHANDLE indicates that either hObjectofDest is NULLHANDLE or an object with the same name as hObjectofObject exists in the destination folder. ═══ WinCreateShadow - Remarks ═══ Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. Its REXX counterpart is SysCreateShadowObject. ═══ WinCreateShadow - Related Functions ═══ o WinCreateObject o WinDestroyObject o WinMoveObject o WinQueryObjectWindow o WinSaveObject ═══ WinCreateShadow - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.4. WinDeregisterObjectClass ═══ ═══ WinDeregisterObjectClass - Syntax ═══ /*******************************************/ /* This function deregisters (removes) a */ /* workplace object class. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pszClassName; /* Pointer to class name. */ BOOL rc; /* Success indicator. */ rc = WinDeregisterObjectClass(pszClassName); ═══ WinDeregisterObjectClass Parameter - pszClassName ═══ pszClassName (PSZ) - input Pointer to class name. A pointer to a zero-terminated string which contains the name of the object class being removed from the workplace. ═══ WinDeregisterObjectClass Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinDeregisterObjectClass - Parameters ═══ pszClassName (PSZ) - input Pointer to class name. A pointer to a zero-terminated string which contains the name of the object class being removed from the workplace. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinDeregisterObjectClass - Remarks ═══ Workplace object classes are not deleted unless the application issues a WinDeregisterObjectClass. Object classes will be automatically registered when a dynamic-link library containing an object definition is added to the system. The only advantage of deregistering an object class is to optimize the system performance. All registered classes are maintained in the OS2.INI and are cached upon system initialization. If the class is no longer needed, it should be removed. ═══ WinDeregisterObjectClass - Related Functions ═══ o WinCreateObject o WinRegisterObjectClass o WinReplaceObjectClass ═══ WinDeregisterObjectClass - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.5. WinDestroyObject ═══ ═══ WinDestroyObject - Syntax ═══ /*******************************************/ /* This function is called to delete a */ /* workplace object. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT object; /* Handle to a workplace object. */ BOOL rc; /* Success indicator. */ rc = WinDestroyObject(object); ═══ WinDestroyObject Parameter - object ═══ object (HOBJECT) - input Handle to a workplace object. ═══ WinDestroyObject Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion. FALSE Error occurred. ═══ WinDestroyObject - Parameters ═══ object (HOBJECT) - input Handle to a workplace object. rc (BOOL) - returns Success indicator. TRUE Successful completion. FALSE Error occurred. ═══ WinDestroyObject - Remarks ═══ The WinDestroyObject function will permanently remove an object that was created with the WinCreateObject function. Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. ═══ WinDestroyObject - Related Functions ═══ o WinCreateObject o WinSetObjectData o WinDestroyObject ═══ WinDestroyObject - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.6. WinEnumObjectClasses ═══ ═══ WinEnumObjectClasses - Syntax ═══ /*******************************************/ /* The WinEnumObjectClasses function will */ /* return a list of all workplace object */ /* classes that have been registered. */ /*******************************************/ #define INCL_WINWORKPLACE #include POBJCLASS pObjClass; /* Pointer to object class. */ PULONG pSize; /* Length of the pObjClass buffer in bytes. */ BOOL rc; /* Success indicator. */ rc = WinEnumObjectClasses(pObjClass, pSize); ═══ WinEnumObjectClasses Parameter - pObjClass ═══ pObjClass (POBJCLASS) - input Pointer to object class. A pointer to a buffer to be filled with information about the registered workplace object classes. ═══ WinEnumObjectClasses Parameter - pSize ═══ pSize (PULONG) - in/out Length of the pObjClass buffer in bytes. If pObjClass is NULL, the actual size of pObjClass is returned in pSize ═══ WinEnumObjectClasses Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinEnumObjectClasses - Parameters ═══ pObjClass (POBJCLASS) - input Pointer to object class. A pointer to a buffer to be filled with information about the registered workplace object classes. pSize (PULONG) - in/out Length of the pObjClass buffer in bytes. If pObjClass is NULL, the actual size of pObjClass is returned in pSize rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinEnumObjectClasses - Remarks ═══ WinEnumObjectClasses will return a buffer containing all workplace object classes that are currently registered with the system. Workplace object classes are registered with the system through the function call WinRegisterObjectClass. ═══ WinEnumObjectClasses - Related Functions ═══ o WinRegisterObjectClass o WinReplaceObjectClass ═══ WinEnumObjectClasses - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.7. WinFreeFileIcon ═══ ═══ WinFreeFileIcon - Syntax ═══ /*******************************************/ /* This function frees an icon pointer */ /* that was originally allocated by */ /* WinLoadFileIcon. */ /*******************************************/ #define INCL_WINWORKPLACE #include HPOINTER hptr; /* A pointer to an icon loaded by WinLoadFileIcon. */ BOOL rc; /* Success indicator. */ rc = WinFreeFileIcon(hptr); ═══ WinFreeFileIcon Parameter - hptr ═══ hptr (HPOINTER) - input A pointer to an icon loaded by WinLoadFileIcon. ═══ WinFreeFileIcon Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinFreeFileIcon - Parameters ═══ hptr (HPOINTER) - input A pointer to an icon loaded by WinLoadFileIcon. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinFreeFileIcon - Related Functions ═══ o WinSetFileIcon o WinLoadFileIcon ═══ WinFreeFileIcon - Topics ═══ Select an item: Syntax Parameters Returns Related Functions Glossary ═══ 1.8. WinIsSOMDDReady ═══ ═══ WinIsSOMDDReady - Syntax ═══ /*******************************************/ /* This function returns the current state */ /* of the DSOM daemon started by the */ /* Workplace Shell process using the */ /* WinRestartSOMDD. */ /*******************************************/ #define INCL_WPCLASS #include BOOL fReady; /* Flag indicating the DSOM daemon status. */ fReady = WinIsSOMDDReady(); ═══ WinIsSOMDDReady Return Value - fReady ═══ fReady (BOOL) - returns Flag indicating the DSOM daemon status. TRUE SOMDD has been started by the Workplace Shell process. FALSE SOMDD has not been started by the Workplace Shell process. ═══ WinIsSOMDDReady - Parameters ═══ fReady (BOOL) - returns Flag indicating the DSOM daemon status. TRUE SOMDD has been started by the Workplace Shell process. FALSE SOMDD has not been started by the Workplace Shell process. ═══ WinIsSOMDDReady - Remarks ═══ This function returns the state of the DSOM daemon started only by the Workplace Shell process using a call to WinRestartSOMDD. This does not include the status of the DSOM daemon if started by any other process. Note: This function requires that the PM Shell is up and running. ═══ WinIsSOMDDReady - Related Functions ═══ o WinIsWPDServerReady o WinRestartSOMDD o WinRestartWPDServer ═══ WinIsSOMDDReady - Example Code ═══ This example starts the DSOM daemon and, a short time later, checks to see if it indeed has started successfully. #define INCL_WPCLASS #include WinRestartSOMDD(); . . . if ( WinIsSOMDDReady() ) somPrintf ("SOMDD is running\n") else somPrintf ("SOMDD failed to start, possiblly started already" "by another process\n"); ═══ WinIsSOMDDReady - Topics ═══ Select an item: Syntax Parameters Returns Remarks Example Code Related Functions Glossary ═══ 1.9. WinIsWPDServerReady ═══ ═══ WinIsWPDServerReady - Syntax ═══ /*******************************************/ /* This function returns the current state */ /* of the Workplace Shell DSOM Server. */ /*******************************************/ #define INCL_WPCLASS #include BOOL fReady; /* Flag indicating the Workplace Shell DSOM Server status. */ fReady = WinIsWPDServerReady(); ═══ WinIsWPDServerReady Return Value - fReady ═══ fReady (BOOL) - returns Flag indicating the Workplace Shell DSOM Server status. TRUE Workplace Shell DSOM Server is ready. FALSE Workplace Shell DSOM Server is not ready. ═══ WinIsWPDServerReady - Parameters ═══ fReady (BOOL) - returns Flag indicating the Workplace Shell DSOM Server status. TRUE Workplace Shell DSOM Server is ready. FALSE Workplace Shell DSOM Server is not ready. ═══ WinIsWPDServerReady - Remarks ═══ This function returns the ready status of the Workplace Shell DSOM Server. Note: This function requires that the PM Shell is up and running. ═══ WinIsWPDServerReady - Related Functions ═══ o WinIsSOMDDReady o WinRestartSOMDD o WinRestartWPDServer ═══ WinIsWPDServerReady - Example Code ═══ This example stops the Workplace Shell DSOM Server, then waits until the server has terminate before stopping the DSOM daemon. #define INCL_WPCLASS #include ULONG count=0; enum {ON, OFF}; WinRestartWPDServer(OFF); /* Make sure the server thread has terminated completely before */ /* bring down the DSOM daemon */ while ( WinIsWPDServerReady() ) { HEV hev; /* First create a private, reset, event semaphore. */ DosCreateEventSem( (PSZ)NULL, &hev, 0, FALSE); /* Wait for 1 second; then try again for a max. of 30 sec. */ DosWaitEventSem (hev, 1000); if (count++ > 30) break; } WinRestartSOMDD (OFF); ═══ WinIsWPDServerReady - Topics ═══ Select an item: Syntax Parameters Returns Remarks Example Code Related Functions Glossary ═══ 1.10. WinLoadFileIcon ═══ ═══ WinLoadFileIcon - Syntax ═══ /*******************************************/ /* This function returns a pointer to an */ /* icon which is associated with the file */ /* specified by pFileName. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pFileName; /* Pointer to file name. */ BOOL fPrivate; /* Icon usage flag. */ HPOINTER rc; /* Success indicator. */ rc = WinLoadFileIcon(pFileName, fPrivate); ═══ WinLoadFileIcon Parameter - pFileName ═══ pFileName (PSZ) - input Pointer to file name. A pointer to a zero-terminated string which contains the name of the file whose icon will be loaded. ═══ WinLoadFileIcon Parameter - fPrivate ═══ fPrivate (BOOL) - input Icon usage flag. TRUE A private copy of this icon is requested. This flag should be used if the application needs to modify the icon. FALSE A shared pointer to this icon is requested. This flag should be used if application needs to display the icon without modifying it. This should be used whenever possible to optimize system resource use. ═══ WinLoadFileIcon Return Value - rc ═══ rc (HPOINTER) - returns Success indicator. NULL Error occurred. OTHER Handle to an icon. ═══ WinLoadFileIcon - Parameters ═══ pFileName (PSZ) - input Pointer to file name. A pointer to a zero-terminated string which contains the name of the file whose icon will be loaded. fPrivate (BOOL) - input Icon usage flag. TRUE A private copy of this icon is requested. This flag should be used if the application needs to modify the icon. FALSE A shared pointer to this icon is requested. This flag should be used if application needs to display the icon without modifying it. This should be used whenever possible to optimize system resource use. rc (HPOINTER) - returns Success indicator. NULL Error occurred. OTHER Handle to an icon. ═══ WinLoadFileIcon - Remarks ═══ The icon will be retrieved in the following order until an icon has been found: o .ICON extended attribute o .ICO file in same directory with same prefix o Application specific icon (if PM executable or MS Windows* executable) o PM application icon (if PM executable) o MS Windows* application icon (if MS Windows* application executable) o OS/2 application icon (if OS/2 full-screen only executable ) o OS/2 window icon (if OS/2 window compatible executable) o DOS windowed application icon (if DOS windowed executable) o Program application (if unknown type executable) o Data icon specified by associated application o Data icon of associated application o Data file icon (if not program or directory) o Directory icon (if directory) The HPOINTER returned in fPrivate should be freed by the caller via WinFreeFileIcon when it is no longer being used. ═══ WinLoadFileIcon - Related Functions ═══ o WinSetFileIcon o WinFreeFileIcon ═══ WinLoadFileIcon - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.11. WinMoveObject ═══ ═══ WinMoveObject - Syntax ═══ /*******************************************/ /* This function is specific to version 3, */ /* or higher, of the OS/2 operating */ /* system. This function moves an object */ /* from its existing location to a */ /* specified new destination. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT hObjectofObject; /* Handle of the Workplace Shell object being moved. */ HOBJECT hObjectofDest; /* Handle of the destination folder into which hObjectofObject is to be moved. */ ULONG ulFlags; /* Move Flags. */ HOBJECT rc; /* Handle of the source object being moved. */ rc = WinMoveObject(hObjectofObject, hObjectofDest, ulFlags); ═══ WinMoveObject Parameter - hObjectofObject ═══ hObjectofObject (HOBJECT) - input Handle of the Workplace Shell object being moved. ═══ WinMoveObject Parameter - hObjectofDest ═══ hObjectofDest (HOBJECT) - input Handle of the destination folder into which hObjectofObject is to be moved. ═══ WinMoveObject Parameter - ulFlags ═══ ulFlags (ULONG) - input Move Flags. MOVE_FAILIFEXSTS ═══ WinMoveObject Return Value - rc ═══ rc (HOBJECT) - returns Handle of the source object being moved. A return value of NULLHANDLE indicates that either hObjectofDest is NULLHANDLE or an object with the same name as hObjectofObject exists in the destination folder. ═══ WinMoveObject - Parameters ═══ hObjectofObject (HOBJECT) - input Handle of the Workplace Shell object being moved. hObjectofDest (HOBJECT) - input Handle of the destination folder into which hObjectofObject is to be moved. ulFlags (ULONG) - input Move Flags. MOVE_FAILIFEXSTS rc (HOBJECT) - returns Handle of the source object being moved. A return value of NULLHANDLE indicates that either hObjectofDest is NULLHANDLE or an object with the same name as hObjectofObject exists in the destination folder. ═══ WinMoveObject - Remarks ═══ Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. Its REXX counterpart is SysMoveObject. ═══ WinMoveObject - Errors ═══ Possible returns from WinGetLastError WPERR_INVALID_FLAGS (0x1719) An invalid flag was specified. ═══ WinMoveObject - Related Functions ═══ o WinCopyObject o WinCreateObject. o WinDestroyObject o WinQueryObjectWindow o WinSaveObject ═══ WinMoveObject - Example Code ═══ This example moves the drives object onto the Desktop. #define INCL_WINWORKPLACE #include "os2.h" HOBJECT hObjectofDest; HOBJECT hObjectofObject; HOBJECT hObjectofResult; hObjectofObject = WinQueryObject(""); if (hObjectofObject != NULL) { /* WinQueryObject of Drives was successful */ hObjectofDest = WinQueryObject(""); if (hObjectofDest != NULL) { /* WinQueryObject of Startup was successful */ hObjectofResult = WinMoveObject(hObjectofObject, hObjectofDest,MOVE_FAILIFEXISTS); if (hObjectofResult != NULL) { /* Drives Object was successfully copied to the Desktop */ } else { /* Move failed */ } ═══ WinMoveObject - Topics ═══ Select an item: Syntax Parameters Returns Errors Remarks Example Code Related Functions Glossary ═══ 1.12. WinOpenObject ═══ ═══ WinOpenObject - Syntax ═══ /*******************************************/ /* This function is specific to version 3, */ /* or higher, of the OS/2 operating */ /* system. This function eithers opens a */ /* view of the given object or surfaces an */ /* existing view. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT hObjectofObject; /* Handle to a Workplace Shell object to be opened. */ ULONG ulView; /* View in which to open the specified object. */ BOOL fFlags; /* Flags. */ BOOL rc; /* Success indicator. */ rc = WinOpenObject(hObjectofObject, ulView, fFlags); ═══ WinOpenObject Parameter - hObjectofObject ═══ hObjectofObject (HOBJECT) - input Handle to a Workplace Shell object to be opened. ═══ WinOpenObject Parameter - ulView ═══ ulView (ULONG) - input View in which to open the specified object. OPEN_SETTINGS OPEN_TREE OPEN_DEFAULT OPEN_CONTENTS OPEN_DETAILS ═══ WinOpenObject Parameter - fFlags ═══ fFlags (BOOL) - input Flags. TRUE Open a view of the object which already exists and supports concurrent views, by calling wpViewObject. FALSE Open a view of this object by calling wpOpen. ═══ WinOpenObject Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinOpenObject - Parameters ═══ hObjectofObject (HOBJECT) - input Handle to a Workplace Shell object to be opened. ulView (ULONG) - input View in which to open the specified object. OPEN_SETTINGS OPEN_TREE OPEN_DEFAULT OPEN_CONTENTS OPEN_DETAILS fFlags (BOOL) - input Flags. TRUE Open a view of the object which already exists and supports concurrent views, by calling wpViewObject. FALSE Open a view of this object by calling wpOpen. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinOpenObject - Remarks ═══ Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. Its REXX counterpart is SysOpenObject. If concurrent views is off, wpViewObject will resurface an existing object. ═══ WinOpenObject - Related Functions ═══ o WinCreateObject o WinDestroyObject o WinSaveObject ═══ WinOpenObject - Example Code ═══ #define INCL_WINWORKPLACE #include "os2.h" HOBJECT hObject; ULONG ulView; BOOL fFlags BOOL fSuccess; hObject = WinQueryObject(""); if (hObject != NULL) { /* WinQueryObject was successful */ fSuccess = WinOpenObject(hObject, OPEN_SETTINGS,TRUE); if (fSuccess) { /* If concurrent views is off and a settings view of the desktop already * exits, then it was successfully resurfaced. * * If concurrent views is on then another settings view of the desktop * was successfully opened */ } else { /* WinOpenObject failed */ } ═══ WinOpenObject - Topics ═══ Select an item: Syntax Parameters Returns Remarks Example Code Related Functions Glossary ═══ 1.13. WinQueryActiveDesktopPathname ═══ ═══ WinQueryActiveDesktopPathname - Syntax ═══ /*******************************************/ /* This function is specific to version 3, */ /* or higher, of the OS/2 operating */ /* system. This function returns the */ /* directory specification of the active */ /* desktop. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pszPathName; /* Memory allocated by caller in which directory specification is written. */ ULONG ulSize; /* Number of bytes pointed to by pszPathName. */ BOOL rc; /* Success indicator. */ rc = WinQueryActiveDesktopPathname(pszPathName, ulSize); ═══ WinQueryActiveDesktopPathname Parameter - pszPathName ═══ pszPathName (PSZ) - output Memory allocated by caller in which directory specification is written. ═══ WinQueryActiveDesktopPathname Parameter - ulSize ═══ ulSize (ULONG) - input Number of bytes pointed to by pszPathName. ═══ WinQueryActiveDesktopPathname Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinQueryActiveDesktopPathname - Parameters ═══ pszPathName (PSZ) - output Memory allocated by caller in which directory specification is written. ulSize (ULONG) - input Number of bytes pointed to by pszPathName. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinQueryActiveDesktopPathname - Remarks ═══ This function is used to find the directory specification of the current desktop. The current desktop is not always \DESKTOP of the boot drive. ═══ WinQueryActiveDesktopPathname - Errors ═══ Possible returns from WinGetLastError PMERR_INVALID_PARAMETER (0x1645) An application parameter value is invalid for its converted PM type. For example: a 4-byte value outside the range -32,768 to +32,767 cannot be converted to a SHORT, and a negative number cannot be converted to a ULONG or USHORT. ═══ WinQueryActiveDesktopPathname - Example Code ═══ This example finds the directory specification of the current desktop. #define INCL_WINWORKPLACE #include CHAR szPath[CCHMAXPATH + 1]; BOOL fSuccess; fSuccess = WinQueryActiveDesktopPathname(szPath,sizeof(szPath)); if (fSuccess) { /* WinQueryActiveDesktopPathname was successful */ } else { /* WinQueryActiveDesktopPathname failed */ } ═══ WinQueryActiveDesktopPathname - Topics ═══ Select an item: Syntax Parameters Returns Errors Remarks Example Code Glossary ═══ 1.14. WinQueryObject ═══ ═══ WinQueryObject - Syntax ═══ /*******************************************/ /* The WinQueryObject function returns a */ /* handle to the given object. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pObjectID; /* The object ID of an existing object. */ HOBJECT hObject; /* MRESULT. */ hObject = WinQueryObject(pObjectID); ═══ WinQueryObject Parameter - pObjectID ═══ pObjectID (PSZ) - input The object ID of an existing object. The object ID of an existing object, for example , or alternatively the fully qualified filename of any file or directory. ═══ WinQueryObject Return Value - hObject ═══ hObject (HOBJECT) - returns MRESULT. Persistent object handle, or NULLHANDLE if the object does not exist or could not be awakened. ═══ WinQueryObject - Parameters ═══ pObjectID (PSZ) - input The object ID of an existing object. The object ID of an existing object, for example , or alternatively the fully qualified filename of any file or directory. hObject (HOBJECT) - returns MRESULT. Persistent object handle, or NULLHANDLE if the object does not exist or could not be awakened. ═══ WinQueryObject - Remarks ═══ This function allows you to obtain the persistant object handle for any file object, by passing the fully qualified filename. Similarly any objects' handle can be retrieved if its object ID string is passed. Once a program has an object handle, it is able to change the objects state by using the WinSetObjectData function or delete the object using the WinDestroyObject function. Note that valid object ID strings must always start with the "<" character and be terminated by the ">" character, and are thus invalid file system names. Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. ═══ WinQueryObject - Related Functions ═══ o WinCreateObject o WinDestroyObject o WinSetObjectData ═══ WinQueryObject - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.15. WinQueryObjectPath ═══ ═══ WinQueryObjectPath - Syntax ═══ /*******************************************/ /* This function is specific to version 3, */ /* or higher, of the OS/2 operating */ /* system. This function returns the */ /* directory specification of a given */ /* object handle. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT hObject; /* Object handle of the object whose file/directory specification is to be returned. */ PSZ pszPathname; /* Memory allocated by caller in which directory specification is written. */ ULONG ulSize; /* Number of bytes pointed to by pszPathname. */ BOOL rc; /* Success indicator. */ rc = WinQueryObjectPath(hObject, pszPathname, ulSize); ═══ WinQueryObjectPath Parameter - hObject ═══ hObject (HOBJECT) - input Object handle of the object whose file/directory specification is to be returned. ═══ WinQueryObjectPath Parameter - pszPathname ═══ pszPathname (PSZ) - output Memory allocated by caller in which directory specification is written. ═══ WinQueryObjectPath Parameter - ulSize ═══ ulSize (ULONG) - input Number of bytes pointed to by pszPathname. ═══ WinQueryObjectPath Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinQueryObjectPath - Parameters ═══ hObject (HOBJECT) - input Object handle of the object whose file/directory specification is to be returned. pszPathname (PSZ) - output Memory allocated by caller in which directory specification is written. ulSize (ULONG) - input Number of bytes pointed to by pszPathname. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinQueryObjectPath - Remarks ═══ This function is used to find the file/directory specification of a given object handle. Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. ═══ WinQueryObjectPath - Errors ═══ Possible returns from WinGetLastError PMERR_INVALID_PARAMETERS (0x1208) An application parameter value is invalid for its converted PM type. For example: a 4-byte value outside the range -32 768 to +32 767 cannot be converted to a SHORT, and a negative number cannot be converted to a ULONG or USHORT. ═══ WinQueryObjectPath - Example Code ═══ This example finds the file/directory of the object.. #define INCL_WINWORKPLACE #include HOBJECT hObject; CHAR szPath[CCHMAXPATH + 1]; BOOL fSuccess; hObject = WinQueryObject(""); if (hObject != NULL) { /* WinQueryObject was successful */ fSuccess = WinQueryObjectPath(hObject,szPath,sizeof(szPath)); if (fSuccess) { /* WinQueryObjectPath was successful */ } else { /* WinQueryObjectPath failed */ } } else { /* WinQueryObject failed */ } ═══ WinQueryObjectPath - Topics ═══ Select an item: Syntax Parameters Returns Errors Remarks Example Code Glossary ═══ 1.16. WinRegisterObjectClass ═══ ═══ WinRegisterObjectClass - Syntax ═══ /*******************************************/ /* The WinRegisterObjectClass function */ /* registers a workplace object class. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pClassName; /* A pointer to object class being registered. */ PSZ pModname; /* A pointer to DLL name. */ BOOL rc; /* Success indicator. */ rc = WinRegisterObjectClass(pClassName, pModname); ═══ WinRegisterObjectClass Parameter - pClassName ═══ pClassName (PSZ) - input A pointer to object class being registered. A pointer to a zero-terminated string which contains the name of the object class being registered in the workplace. ═══ WinRegisterObjectClass Parameter - pModname ═══ pModname (PSZ) - input A pointer to DLL name. A pointer to a zero-terminated string which contains the name of the DLL which holds the object definition. ═══ WinRegisterObjectClass Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinRegisterObjectClass - Parameters ═══ pClassName (PSZ) - input A pointer to object class being registered. A pointer to a zero-terminated string which contains the name of the object class being registered in the workplace. pModname (PSZ) - input A pointer to DLL name. A pointer to a zero-terminated string which contains the name of the DLL which holds the object definition. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinRegisterObjectClass - Remarks ═══ The DLL must be one created using the IBM System Object Model. Object classes will automatically be added to the system when installing a DLL which contains an object definition. Generally, it is not required for the object DLL to be present at the time WinRegisterObjectClass is called. However, if the object class overrides wpclsQueryInstanceType or wpclsQueryInstanceFilter, the DLL must be present at the time of the class registration. ═══ WinRegisterObjectClass - Related Functions ═══ o WinCreateObject o WinDeregisterObjectClass o WinReplaceObjectClass ═══ WinRegisterObjectClass - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.17. WinReplaceObjectClass ═══ ═══ WinReplaceObjectClass - Syntax ═══ /*******************************************/ /* The WinReplaceObjectClass function */ /* replaces a registered class with */ /* another registered class. If fReplace */ /* is FALSE, pOldClassName will revert */ /* back to its original definition. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pOldClassName; /* Pointer to class name. */ PSZ pNewClassName; /* Pointer to new class name. */ BOOL fReplace; /* Function replacement flag. */ BOOL rc; /* Success indicator. */ rc = WinReplaceObjectClass(pOldClassName, pNewClassName, fReplace); ═══ WinReplaceObjectClass Parameter - pOldClassName ═══ pOldClassName (PSZ) - input Pointer to class name. A pointer to a zero-terminated string which contains the name of the object class being replaced by pNewClassName in the workplace. ═══ WinReplaceObjectClass Parameter - pNewClassName ═══ pNewClassName (PSZ) - input Pointer to new class name. A pointer to a zero-terminated string which contains the name of the object class replacing the pOldClassName class. ═══ WinReplaceObjectClass Parameter - fReplace ═══ fReplace (BOOL) - input Function replacement flag. TRUE Replace the function of class pOldClassName with the function of the class pNewClassName. FALSE Undo the replacement of the pOldClassName with pNewClassName by restoring the pOldClassName back to its original functionality. ═══ WinReplaceObjectClass Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinReplaceObjectClass - Parameters ═══ pOldClassName (PSZ) - input Pointer to class name. A pointer to a zero-terminated string which contains the name of the object class being replaced by pNewClassName in the workplace. pNewClassName (PSZ) - input Pointer to new class name. A pointer to a zero-terminated string which contains the name of the object class replacing the pOldClassName class. fReplace (BOOL) - input Function replacement flag. TRUE Replace the function of class pOldClassName with the function of the class pNewClassName. FALSE Undo the replacement of the pOldClassName with pNewClassName by restoring the pOldClassName back to its original functionality. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinReplaceObjectClass - Remarks ═══ The class specified by pNewClassName must be a descendant of the class specified by pOldClassName, otherwise an error will be returned. Replacing an object is useful if it is desired to modify the behavior of objects which are instances of the class pOldClassName and which are not aware of the class pNewClassName. ═══ WinReplaceObjectClass - Related Functions ═══ o WinCreateObject o WinDeregisterObjectClass o WinRegisterObjectClass ═══ WinReplaceObjectClass - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.18. WinRestartSOMDD ═══ ═══ WinRestartSOMDD - Syntax ═══ /*******************************************/ /* This function starts the DSOM daemon. */ /*******************************************/ #define INCL_WPCLASS #include BOOL fAction; /* Flag indicating action to perform on the DSOM daemon. */ APIRET rc; /* Return code. */ rc = WinRestartSOMDD(fAction); ═══ WinRestartSOMDD Parameter - fAction ═══ fAction (BOOL) - input Flag indicating action to perform on the DSOM daemon. TRUE Start the DSOM daemon. FALSE Stop the DSOM daemon. ═══ WinRestartSOMDD Return Value - rc ═══ rc (APIRET) - returns Return code. PMERR_OK (0x0000) Successfully invoked. PMERR_WPDSERVER_IS_ACTIVE (0x1056) The Workplace Shell DSOM Server is active and running. It cannot stop the DSOM daemon until the Workplace Shell DSOM Server has stopped. PMERR_SOMDD_IS_ACTIVE (0x1058) The DSOM daemon has been started by the Workplace Shell process and is active and running; therefore, it cannot be started again. PMERR_SOMDD_NOT_STARTED (0x1059) The DSOM daemon failed to start. It might be active in another process. ═══ WinRestartSOMDD - Parameters ═══ fAction (BOOL) - input Flag indicating action to perform on the DSOM daemon. TRUE Start the DSOM daemon. FALSE Stop the DSOM daemon. rc (APIRET) - returns Return code. PMERR_OK (0x0000) Successfully invoked. PMERR_WPDSERVER_IS_ACTIVE (0x1056) The Workplace Shell DSOM Server is active and running. It cannot stop the DSOM daemon until the Workplace Shell DSOM Server has stopped. PMERR_SOMDD_IS_ACTIVE (0x1058) The DSOM daemon has been started by the Workplace Shell process and is active and running; therefore, it cannot be started again. PMERR_SOMDD_NOT_STARTED (0x1059) The DSOM daemon failed to start. It might be active in another process. ═══ WinRestartSOMDD - Remarks ═══ This function starts the DSOM daemon in the Workplace Shell process as a background process invisible to the users. The status of the daemon can be determined at any time by calling WinIsSOMDDReady. Note: This function requires that the PM Shell is up and running. ═══ WinRestartSOMDD - Related Functions ═══ o WinIsSOMDDReady o WinIsWPDServerReady o WinRestartWPDServer ═══ WinRestartSOMDD - Example Code ═══ This example starts the DSOM daemon within the Workplace Shell process. #define INCL_WPCLASS #include enum {ON, OFF}; APIRET apiRtnCd; apiRtnCd = WinRestartSOMDD(ON); if (apiRtnCd == PMERR_SOMDD_NOT_STARTED) somPrintf ("DSOM Daemon failed to start; might be active already"); ═══ WinRestartSOMDD - Topics ═══ Select an item: Syntax Parameters Returns Remarks Example Code Related Functions Glossary ═══ 1.19. WinRestartWPDServer ═══ ═══ WinRestartWPDServer - Syntax ═══ /*******************************************/ /* This function starts the Workplace */ /* Shell DSOM server. */ /*******************************************/ #define INCL_WPCLASS #include BOOL fAction; /* Flag indicating the action to perform on the Workplace Shell DSOM server. */ APIRET rc; /* Return code. */ rc = WinRestartWPDServer(fAction); ═══ WinRestartWPDServer Parameter - fAction ═══ fAction (BOOL) - input Flag indicating the action to perform on the Workplace Shell DSOM server. TRUE Start the Workplace Shell DSOM server. FALSE Stop the Workplace Shell DSOM server. ═══ WinRestartWPDServer Return Value - rc ═══ rc (APIRET) - returns Return code. PMERR_OK (0x0000) Successfully invoked. PMERR_WPDSERVER_IS_ACTIVE (0x1056) The Workplace Shell DSOM server is active and cannot be started again. PMERR_WPDSERVER_NOT_STARTED (0x1057) The Workplace Shell DSOM server could not be started, possibly related to a corrupted copy of WPDSRVP.DLL. Other Any other non-zero value could indicate that the WPDSRVP.DLL is corrupted or not found. ═══ WinRestartWPDServer - Parameters ═══ fAction (BOOL) - input Flag indicating the action to perform on the Workplace Shell DSOM server. TRUE Start the Workplace Shell DSOM server. FALSE Stop the Workplace Shell DSOM server. rc (APIRET) - returns Return code. PMERR_OK (0x0000) Successfully invoked. PMERR_WPDSERVER_IS_ACTIVE (0x1056) The Workplace Shell DSOM server is active and cannot be started again. PMERR_WPDSERVER_NOT_STARTED (0x1057) The Workplace Shell DSOM server could not be started, possibly related to a corrupted copy of WPDSRVP.DLL. Other Any other non-zero value could indicate that the WPDSRVP.DLL is corrupted or not found. ═══ WinRestartWPDServer - Remarks ═══ This function requires that the DSOM daemon is started first and must be running successfully in order for the Workplace Shell DSOM server to become ready. The status of the Workplace Shell DSOM server can be obtained at any time using WinIsWPDServerReady. Once the DSOM server is ready, a client Workplace Shell DSOM server application can be executed. Note: This function requires that the PM Shell is up and running. ═══ WinRestartWPDServer - Related Functions ═══ o WinIsSOMDDReady o WinIsWPDServerReady o WinRestartSOMDD ═══ WinRestartWPDServer - Example Code ═══ This example starts the DSOM daemon within the Workplace Shell process and then starts the Workplace Shell DSOM server. #define INCL_WINERRORS #define INCL_WPCLASS #include enum {ON,OFF}; APIRET apiRtnCd; apiRtnCd=WinRestartSOMDD(ON); if (apiRtnCd == PMERR_OK) { apiRtnCd = WinRestartWPDServer(ON); if (apiRtnCd) { PERRINFO perriErrorInfo; if (apiRtnCd == PMERR_WPDSERVER_IS_ACTIVE) { somPrintf("The Workplace Shell DSOM server is already running"); exit(2); } if (apiRtnCd == PMERR_WPDSERVER_NOT_STARTED) { somPrintf("Failed to start the Workplace Shell DSOM server"); exit(2); } /* Obtain the error block */ /* WinGetErrorInfo is for DosLoadModule related errors only */ perriErrorInfo = WinGetErrorInfo(hab); somPrintf("Loading WPDSRVP.DLL failed: %ld", perriErrorInfo->idError); WinFreeErrorInfo(perriErrorInfo); exit(99); } somPrintf("All's well!"); } else { somPrintf("Failed to start the DSOM daemon"); exit(1); } ═══ WinRestartWPDServer - Topics ═══ Select an item: Syntax Parameters Returns Remarks Example Code Related Functions Glossary ═══ 1.20. WinRestoreWindowPos ═══ ═══ WinRestoreWindowPos - Syntax ═══ /*******************************************/ /* The WinRestoreWindowPos function will */ /* restore the size and position of the */ /* window specified by hwnd to the state */ /* it was in when WinStoreWindowPos was */ /* last called with the same pAppName and */ /* pKeyName. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pAppName; /* Pointer to application name. */ PSZ pKeyName; /* Pointer to key name. */ HWND hwnd; /* Window handle of the window to restore. */ BOOL rc; /* Success indicator. */ rc = WinRestoreWindowPos(pAppName, pKeyName, hwnd); ═══ WinRestoreWindowPos Parameter - pAppName ═══ pAppName (PSZ) - input Pointer to application name. A pointer to a zero-terminated string which contains the application name. ═══ WinRestoreWindowPos Parameter - pKeyName ═══ pKeyName (PSZ) - input Pointer to key name. A pointer to a zero-terminated string which contains the key name. ═══ WinRestoreWindowPos Parameter - hwnd ═══ hwnd (HWND) - input Window handle of the window to restore. ═══ WinRestoreWindowPos Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinRestoreWindowPos - Parameters ═══ pAppName (PSZ) - input Pointer to application name. A pointer to a zero-terminated string which contains the application name. pKeyName (PSZ) - input Pointer to key name. A pointer to a zero-terminated string which contains the key name. hwnd (HWND) - input Window handle of the window to restore. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinRestoreWindowPos - Remarks ═══ This function will also restore presentation parameters which were saved by a previous call to WinStoreWindowPos. ═══ WinRestoreWindowPos - Related Functions ═══ o WinStoreWindowPos ═══ WinRestoreWindowPos - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.21. WinSaveObject ═══ ═══ WinSaveObject - Syntax ═══ /*******************************************/ /* This function is specific to version 3, */ /* or higher, of the OS/2 operating */ /* system. This function saves the state */ /* of an object. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT hObject; /* Handle of the object to be saved. */ BOOL fAsync; /* Asynchronous flag. */ BOOL rc; /* Success indicator. */ rc = WinSaveObject(hObject, fAsync); ═══ WinSaveObject Parameter - hObject ═══ hObject (HOBJECT) - input Handle of the object to be saved. ═══ WinSaveObject Parameter - fAsync ═══ fAsync (BOOL) - input Asynchronous flag. TRUE Calls asynchronous save. FALSE Calls synchronous save. ═══ WinSaveObject Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinSaveObject - Parameters ═══ hObject (HOBJECT) - input Handle of the object to be saved. fAsync (BOOL) - input Asynchronous flag. TRUE Calls asynchronous save. FALSE Calls synchronous save. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinSaveObject - Remarks ═══ If an asynchronous save is called, the object will be saved on a separate thread ("lazy written"); this is the preferred method for saving. Otherwise, the object is saved on the user interface thread. Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. ═══ WinSaveObject - Related Functions ═══ o WinCopyObject o WinCreateObject. o WinDestroyObject o WinMoveObject o WinQueryObjectWindow ═══ WinSaveObject - Example Code ═══ #define INCL_WINWORKPLACE #include "os2.h" HOBJECT Object; BOOL fAsync = TRUE; BOOL fSuccess hObject = WinQueryObject(""); if (hObject != NULL) { /* WinQueryObject was successful */ fSuccess = WinSaveObject(hObject,fAsync); if (fSuccess) { /* The state of the Desktop was saved Asynchronously */ } else { /* Asynchronous save of the Desktop failed */ } ═══ WinSaveObject - Topics ═══ Select an item: Syntax Parameters Returns Remarks Example Code Related Functions Glossary ═══ 1.22. WinSetFileIcon ═══ ═══ WinSetFileIcon - Syntax ═══ /*******************************************/ /* WinSetFileIcon sets the icon for the */ /* file specified by pFileName to the icon */ /* specified by picon. */ /*******************************************/ #define INCL_WINPOINTERS #include PSZ pFileName; /* Pointer to file name. */ PICONINFO picon; /* A pointer to an ICONINFO structure containing an icon specification. */ BOOL rc; /* Success indicator. */ rc = WinSetFileIcon(pFileName, picon); ═══ WinSetFileIcon Parameter - pFileName ═══ pFileName (PSZ) - input Pointer to file name. A pointer to a zero-terminated string which contains the name of the file whose icon will be set. ═══ WinSetFileIcon Parameter - picon ═══ picon (PICONINFO) - input A pointer to an ICONINFO structure containing an icon specification. ═══ WinSetFileIcon Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinSetFileIcon - Parameters ═══ pFileName (PSZ) - input Pointer to file name. A pointer to a zero-terminated string which contains the name of the file whose icon will be set. picon (PICONINFO) - input A pointer to an ICONINFO structure containing an icon specification. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinSetFileIcon - Remarks ═══ The specified icon is written to the file's .ICON extended attribute. ═══ WinSetFileIcon - Related Functions ═══ o WinLoadFileIcon o WinFreeFileIcon ═══ WinSetFileIcon - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.23. WinSetObjectData ═══ ═══ WinSetObjectData - Syntax ═══ /*******************************************/ /* The WinSetObjectData function is called */ /* to set data on a workplace object. */ /*******************************************/ #define INCL_WINWORKPLACE #include HOBJECT object; /* Handle to a workplace object. */ PSZ pSetupString; /* Pointer to object-specific parameters. */ BOOL rc; /* Success indicator. */ rc = WinSetObjectData(object, pSetupString); ═══ WinSetObjectData Parameter - object ═══ object (HOBJECT) - input Handle to a workplace object. ═══ WinSetObjectData Parameter - pSetupString ═══ pSetupString (PSZ) - input Pointer to object-specific parameters. A pointer to a zero-terminated string which contains the object-specific parameters to the new object. The pSetupString string is extracted when the wpSetup method is called. For a listing of setup strings, see individual object classes; See WPLaunchPad class definition for a discussion of setup string values used in Launch Pad customization. ═══ WinSetObjectData Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion. FALSE Error occurred. ═══ WinSetObjectData - Parameters ═══ object (HOBJECT) - input Handle to a workplace object. pSetupString (PSZ) - input Pointer to object-specific parameters. A pointer to a zero-terminated string which contains the object-specific parameters to the new object. The pSetupString string is extracted when the wpSetup method is called. For a listing of setup strings, see individual object classes; See WPLaunchPad class definition for a discussion of setup string values used in Launch Pad customization. rc (BOOL) - returns Success indicator. TRUE Successful completion. FALSE Error occurred. ═══ WinSetObjectData - Remarks ═══ The WinSetObjectData function will change settings on an object that was created with the WinCreateObject function. Using HOBJECT for .INI files or files in which an application uses a rename/save/delete sequence is not supported. ═══ WinSetObjectData - Related Functions ═══ o WinCreateObject o WinSetObjectData o WinDestroyObject ═══ WinSetObjectData - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 1.24. WinShutdownSystem ═══ ═══ WinShutdownSystem - Syntax ═══ /*******************************************/ /* The WinShutdownSystem function will */ /* close down the system. */ /*******************************************/ #define INCL_WINWORKPLACE #include HAB hab; /* Anchor-block handle. */ HMQ hmq; /* Message-queue handle. */ BOOL rc; /* Success indicator. */ rc = WinShutdownSystem(hab, hmq); ═══ WinShutdownSystem Parameter - hab ═══ hab (HAB) - input Anchor-block handle. ═══ WinShutdownSystem Parameter - hmq ═══ hmq (HMQ) - input Message-queue handle. ═══ WinShutdownSystem Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinShutdownSystem - Parameters ═══ hab (HAB) - input Anchor-block handle. hmq (HMQ) - input Message-queue handle. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinShutdownSystem - Remarks ═══ The WinShutdownSystem function will close all running applications and will then call DosShutdown. Presentation Manager applications will receive a WM_SAVEAPPLICATION message prior to a WM_QUIT message. When the system is restarted, all applications that were running when WinShutdownSystem was last called will be restarted. ═══ WinShutdownSystem - Related Functions ═══ o WinCancelShutdown ═══ WinShutdownSystem - Example Code ═══ This example performs an OS/2 System Shutdown from a program. #define INCL_WINWORKPLACE #define INCL_DOSFILEMGR #define INCL_DOSERRORS #include #include int main(VOID) { HAB hab = NULLHANDLE; /* Window handle */ HMQ hmq = NULLHANDLE; /* Message queue handle */ BOOL fSuccess = 0; /* Win API success indicator */ hab = WinInitialize( 0 ); hmq = WinCreateMsgQueue( hab, 0 ); /* Prevent our program from hanging the shutdown. If this call is omitted, the system will wait for us to do a WinDestroyMsgQueue. */ fSuccess = WinCancelShutdown( hmq, TRUE ); /* Shutdown the system! */ printf("System Shutdown will now be attempted...\n"); fSuccess = WinShutdownSystem( hab, hmq ); if (!fSuccess) { return 1; } else { return NO_ERROR; } /* endif */ } ═══ WinShutdownSystem - Topics ═══ Select an item: Syntax Parameters Returns Remarks Example Code Related Functions Glossary ═══ 1.25. WinStoreWindowPos ═══ ═══ WinStoreWindowPos - Syntax ═══ /*******************************************/ /* The WinStoreWindowPos function will */ /* save the current size and position of */ /* the window specified by hwnd. */ /*******************************************/ #define INCL_WINWORKPLACE #include PSZ pAppName; /* Pointer to application name. */ PSZ pKeyName; /* Pointer to key name. */ HWND hwnd; /* Window handle for the window to be stored. */ BOOL rc; /* Success indicator. */ rc = WinStoreWindowPos(pAppName, pKeyName, hwnd); ═══ WinStoreWindowPos Parameter - pAppName ═══ pAppName (PSZ) - input Pointer to application name. A pointer to a zero-terminated string which contains the application name. ═══ WinStoreWindowPos Parameter - pKeyName ═══ pKeyName (PSZ) - input Pointer to key name. A pointer to a zero-terminated string which contains the key name. ═══ WinStoreWindowPos Parameter - hwnd ═══ hwnd (HWND) - input Window handle for the window to be stored. ═══ WinStoreWindowPos Return Value - rc ═══ rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinStoreWindowPos - Parameters ═══ pAppName (PSZ) - input Pointer to application name. A pointer to a zero-terminated string which contains the application name. pKeyName (PSZ) - input Pointer to key name. A pointer to a zero-terminated string which contains the key name. hwnd (HWND) - input Window handle for the window to be stored. rc (BOOL) - returns Success indicator. TRUE Successful completion FALSE Error occurred. ═══ WinStoreWindowPos - Remarks ═══ This function will also save the presentation parameters. ═══ WinStoreWindowPos - Related Functions ═══ o WinRestoreWindowPos ═══ WinStoreWindowPos - Topics ═══ Select an item: Syntax Parameters Returns Remarks Related Functions Glossary ═══ 2. Data Types ═══ The following data types are used in Workplace Shell. They are listed in alphabetic order. ═══ 2.1. ACTIONS ═══ Action button data structure. typedef struct _ACTIONS { PSZ pszTitle; /* String containing the title of the action button. */ ULONG ulMenuId; /* Desktop menu IDs. */ } ACTIONS; typedef ACTIONS *PACTIONS; ═══ ACTIONS Parameter - pszTitle ═══ pszTitle (PSZ) String containing the title of the action button. ═══ ACTIONS Parameter - ulMenuId ═══ ulMenuId (ULONG) Desktop menu IDs. ═══ 2.2. APIRET ═══ Unsigned integer in the range 0 through 4 294 967 295. typedef unsigned long APIRET; ═══ 2.3. BOOL ═══ Boolean. Valid values are FALSE, which is 0, and TRUE, which is 1. typedef unsigned long BOOL; ═══ 2.4. BYTE ═══ A byte. typedef unsigned char BYTE; ═══ 2.5. CDATE ═══ Structure that contains date information for a data element in the details view of a container control. typedef struct _CDATE { UCHAR day; /* Current day. */ UCHAR month; /* Current month. */ USHORT year; /* Current year. */ } CDATE; typedef CDATE *PCDATE; ═══ CDATE Parameter - day ═══ day (UCHAR) Current day. ═══ CDATE Parameter - month ═══ month (UCHAR) Current month. ═══ CDATE Parameter - year ═══ year (USHORT) Current year. ═══ 2.6. CELL ═══ Class-specific cell data follows immediately afterward. typedef struct _CELL { ULONG cbData; /* Size of the data that follows. */ } CELL; typedef CELL *PCELL; ═══ CELL Parameter - cbData ═══ cbData (ULONG) Size of the data that follows. Class-specific cell data follows immediately after a variable of this type. For example the font palette would store the ASCII name of the font, and the color palette would store the RGB color of the cell. ═══ 2.7. CHAR ═══ Single-byte character. #define CHAR char ═══ 2.8. CHARBUNDLE ═══ Character-attributes bundle structure. typedef struct _CHARBUNDLE { LONG lColor; /* Character foreground color. */ LONG lBackColor; /* Character background color. */ USHORT usMixMode; /* Character foreground-mix mode. */ USHORT usBackMixMode; /* Character background-mix mode. */ USHORT usSet; /* Character set. */ USHORT usPrecision; /* Character precision. */ SIZEF sizfxCell; /* Character cell size. */ POINTL ptlAngle; /* Character angle. */ POINTL ptlShear; /* Character shear. */ USHORT usDirection; /* Character direction. */ USHORT usTextAlign; /* Text alignment. */ FIXED fxExtra; /* Character extra. */ FIXED fxBreakExtra; /* Character break extra. */ } CHARBUNDLE; typedef CHARBUNDLE *PCHARBUNDLE; ═══ CHARBUNDLE Parameter - lColor ═══ lColor (LONG) Character foreground color. ═══ CHARBUNDLE Parameter - lBackColor ═══ lBackColor (LONG) Character background color. ═══ CHARBUNDLE Parameter - usMixMode ═══ usMixMode (USHORT) Character foreground-mix mode. ═══ CHARBUNDLE Parameter - usBackMixMode ═══ usBackMixMode (USHORT) Character background-mix mode. ═══ CHARBUNDLE Parameter - usSet ═══ usSet (USHORT) Character set. ═══ CHARBUNDLE Parameter - usPrecision ═══ usPrecision (USHORT) Character precision. ═══ CHARBUNDLE Parameter - sizfxCell ═══ sizfxCell (SIZEF) Character cell size. ═══ CHARBUNDLE Parameter - ptlAngle ═══ ptlAngle (POINTL) Character angle. ═══ CHARBUNDLE Parameter - ptlShear ═══ ptlShear (POINTL) Character shear. ═══ CHARBUNDLE Parameter - usDirection ═══ usDirection (USHORT) Character direction. ═══ CHARBUNDLE Parameter - usTextAlign ═══ usTextAlign (USHORT) Text alignment. ═══ CHARBUNDLE Parameter - fxExtra ═══ fxExtra (FIXED) Character extra. ═══ CHARBUNDLE Parameter - fxBreakExtra ═══ fxBreakExtra (FIXED) Character break extra. ═══ 2.9. CLASS ═══ An array of class objects. The final element of the array should be NULL. typedef M_WPObject * CLASS; ═══ 2.10. CLASSDETAILS ═══ Class details data structure. typedef STRUCT _CLASSDETAILS { PSZ pszAttribute; /* Translatable string. */ PVOID pSortRecord; /* Function pointer for the sort function for the attribute. */ } CLASSDETAILS; typedef CLASSDETAILS *PCLASSDETAILS; ═══ CLASSDETAILS Parameter - pszAttribute ═══ pszAttribute (PSZ) Translatable string. Translatable string for a class attribute. ═══ CLASSDETAILS Parameter - pSortRecord ═══ pSortRecord (PVOID) Function pointer for the sort function for the attribute. ═══ 2.11. CLASSFIELDINFO ═══ Class field information data structure for use with the wpclsQueryDetailsInfo method. typedef struct _CLASSFIELDINFO { ULONG cb; /* Size of the CLASSFIELDINFO structure. */ ULONG flData; /* Attributes of the field's data. */ ULONG flTitle; /* Attributes of the field's title. */ PVOID pTitleData; /* Title data. */ ULONG ulReserved; /* Reserved. */ PVOID pUserData; /* Pointer to user data. */ struct _CLASSFIELDINFO *pNextFieldInfo; /* Pointer to the next linked CLASSFIELDINFO structure. */ ULONG cxWidth; /* Width of the field in pels. */ ULONG offFieldData; /* Offset from beginning of this class's data for this field. */ ULONG ulLenFieldData; /* Width of data in bytes. */ PFNOWNDRW pfnOwnerDraw; /* Ownerdraw procedure for Details View column. */ ULONG flCompare; /* Flags. */ PFNCOMPARE pfnCompare; /* Pointer to a comparison function. */ ULONG DefaultComparison; /* Default comparison operator in the Include Page Criteria dialog box (in the Settings notebook). */ ULONG ulLenCompareValue; /* Maximum length of the compare data. */ PVOID pDefCompareValue; /* The default value to be used for comparisons. */ PVOID pMinCompareValue; /* The default value to be used for comparisons. */ PVOID pMaxCompareValue; /* The default value to be used for comparisons. */ PSZ pszEditControlClass; /* Window class to be used to edit the compare value. */ PFNCOMPARE pfnSort; /* Sort function for this field. */ PSZ pNewComp; /* Pointer to an array of strings containing a description of a comparison type. */ } CLASSFIELDINFO; typedef CLASSFIELDINFO *PCLASSFIELDINFO; The CLASSFIELDINFO data structure is similar to the FIELDINFO data structure of the container control, with the following differences: o The offStruct field from the FIELDINFO data structure is changed to ulReserved. o Compare, Sort, and Ownerdraw fields (starting at pfnOwnerDraw and continuing through the end of the structure) have been added so that object Details View fields can be customized and objects can be found or included by any of their displayable object Details View fields. o The offFieldData and ulLenFieldData fields have been added. As an example of the use of these two fields, if an application has the following details data: typedef struct _SAMPLE { CDATE cdate; CTIME ctime; PSZ psz; } SAMPLE; then classfieldinfo[0].offFieldData = FIELDOFFSET(SAMPLE,cdate); classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) - FIELDOFFSET(SAMPLE,cdate); classfieldinfo[1].offFieldData = FIELDOFFSET(SAMPLE,ctime); classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) - FIELDOFFSET(SAMPLE,ctime); classfieldinfo[2].offFieldData = FIELDOFFSET(SAMPLE,psz); classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) - FIELDOFFSET(SAMPLE,psz); /* FIELDOFFSET is a macro that calculates the byte offset of a field * * within a structure. */ Note: It is essential that the fields be linked in the order shown above-cdate must be followed by ctime, and finally psz. The pfnCompare and pfnSort fields generally point to the same function, but they can point to different functions if you want them to behave differently. ═══ CLASSFIELDINFO Parameter - cb ═══ cb (ULONG) Size of the CLASSFIELDINFO structure. ═══ CLASSFIELDINFO Parameter - flData ═══ flData (ULONG) Attributes of the field's data. Possible values are shown in the following list: o Specify one of the following for each column to choose the type of data that is displayed in each column: CFA_BITMAPORICON The column contains bit-map or icon data. CFA_DATE The data in the column is displayed in date format. National Language Support (NLS) is enabled for date format. Use the data structure described in CDATE CFA_STRING Character or text data is displayed in this column. CFA_TIME The data in the column is displayed in time format. National Language Support (NLS) is enabled for time format. Use the data structure described in CTIME. CFA_ULONG Unsigned number data is displayed in this column. National Language Support (NLS) is enabled for number format. o Specify any or all of the following column attributes: CFA_FIREADONLY Prevents text in a FIELDINFO data structure (text in a column) from being edited directly. This attribute applies only to columns for which the CFA_STRING attribute has been specified. CFA_HORZSEPARATOR A horizontal separator is provided beneath column headings. CFA_INVISIBLE Invisible container column. The default is visible. CFA_OWNER Ownerdraw is enabled for this container column. CFA_SEPARATOR A vertical separator is drawn after this column. o Specify one of the following for each column to vertically position data in that column: CFA_BOTTOM Bottom-justifies field data. CFA_TOP Top-justifies field data. CFA_VCENTER Vertically centers field data. This is the default. o Specify one of the following for each column to horizontally position data in that column. These attributes can be combined with the attributes used for vertical positioning of column data by using an OR operator (|). CFA_CENTER Horizontally centers field data. CFA_LEFT Left-justifies field data. This is the default. CFA_RIGHT Right-justifies field data. o Specify the following if new comparison descriptions are used: CFA_NEWCOMP Tells the system to use strings specified in pNewComp. o Specify the following if a pointer to an object needs to be passed as the first parameter of a user-defined comparison function: CFA_OBJECT Tells the system that the applications wants to use its own comparison function in which the first parameter is a pointer to an object. For example: LONG MyComp(WPObject *obj, PSZ str2) This flag must be ORed (|) together with one of the type flags (CFA_BITMAPORICON, CFA_DATE, CFA_STRING, CFA_TIME, or CFA_ULONG) to tell the object the type that is being compared. ═══ CLASSFIELDINFO Parameter - flTitle ═══ flTitle (ULONG) Attributes of the field's title. Possible values are described in the following list: o Specify the following if icon or bit-map data is to be displayed in the column heading: CFA_BITMAPORICON The column heading contains icon or bit-map data. If CFA_BITMAPORICON is not specified, any data that is assigned to a column heading is assumed to be character or text data. o Specify the following to prevent direct editing of a column heading: CFA_FITITLEREADONLY Prevents a column heading from being edited directly. o Specify one of the following for each column heading to vertically position data in that column heading: CFA_TOP Top-justifies column headings. CFA_BOTTOM Bottom-justifies column headings. CFA_VCENTER Vertically centers column headings. This is the default. o Specify one of the following for each column heading to horizontally position data in that column heading. These attributes can be combined with the attributes used for vertical positioning of column heading data by using an OR operator (|). CFA_CENTER Horizontally centers column headings. CFA_LEFT Left-justifies column headings. This is the default. CFA_RIGHT Right-justifies column headings. ═══ CLASSFIELDINFO Parameter - pTitleData ═══ pTitleData (PVOID) Title data. Default is string. If the flTitle field is set to the CFA_BITMAPORICON attribute, this must be an icon or bit-map handle. ═══ CLASSFIELDINFO Parameter - ulReserved ═══ ulReserved (ULONG) Reserved. ═══ CLASSFIELDINFO Parameter - pUserData ═══ pUserData (PVOID) Pointer to user data. ═══ CLASSFIELDINFO Parameter - pNextFieldInfo ═══ pNextFieldInfo (struct _CLASSFIELDINFO *) Pointer to the next linked CLASSFIELDINFO structure. ═══ CLASSFIELDINFO Parameter - cxWidth ═══ cxWidth (ULONG) Width of the field in pels. ═══ CLASSFIELDINFO Parameter - offFieldData ═══ offFieldData (ULONG) Offset from beginning of this class's data for this field. The first field is zero. ═══ CLASSFIELDINFO Parameter - ulLenFieldData ═══ ulLenFieldData (ULONG) Width of data in bytes. Four bytes for a pointer. ═══ CLASSFIELDINFO Parameter - pfnOwnerDraw ═══ pfnOwnerDraw (PFNOWNDRW) Ownerdraw procedure for Details View column. You would use this if you wanted to draw the field in the Details View of your object. An example of this might be if you wanted to draw a graphic image in the field. This field can be NULL except if ownerdraw is being used (that is, if the object is choosing to draw the field itself). ═══ CLASSFIELDINFO Parameter - flCompare ═══ flCompare (ULONG) Flags. Possible values are: COMPARE_SUPPORTED Your field can be compared. SORTBY_SUPPORTED Your field can be sorted on. ═══ CLASSFIELDINFO Parameter - pfnCompare ═══ pfnCompare (PFNCOMPARE) Pointer to a comparison function. A comparison function is used when the object is doing its own Include Page filtering (in the Settings notebook). For example, if a string details field exists, the field could be set to pfnCompare = StringCompare, where StringCompare is defined as: LONG StringCompare(PSZ str1, PZS str2) This field can be NULL unless ownerdraw is used. ═══ CLASSFIELDINFO Parameter - DefaultComparison ═══ DefaultComparison (ULONG) Default comparison operator in the Include Page Criteria dialog box (in the Settings notebook). For example, CMP_LESS_OR_EQUAL or CMP_NOT_EQUAL. ═══ CLASSFIELDINFO Parameter - ulLenCompareValue ═══ ulLenCompareValue (ULONG) Maximum length of the compare data. Can be NULL unless ownerdraw is used. ═══ CLASSFIELDINFO Parameter - pDefCompareValue ═══ pDefCompareValue (PVOID) The default value to be used for comparisons. Can be NULL unless ownerdraw is used. ═══ CLASSFIELDINFO Parameter - pMinCompareValue ═══ pMinCompareValue (PVOID) The default value to be used for comparisons. Can be NULL unless ownerdraw is used. ═══ CLASSFIELDINFO Parameter - pMaxCompareValue ═══ pMaxCompareValue (PVOID) The default value to be used for comparisons. Can be NULL unless ownerdraw is used. ═══ CLASSFIELDINFO Parameter - pszEditControlClass ═══ pszEditControlClass (PSZ) Window class to be used to edit the compare value. Can be NULL unless ownerdraw is used. ═══ CLASSFIELDINFO Parameter - pfnSort ═══ pfnSort (PFNCOMPARE) Sort function for this field. This function is used when the object is doing its own folder sorting. Can be NULL unless ownerdraw is used. ═══ CLASSFIELDINFO Parameter - pNewComp ═══ pNewComp (PSZ) Pointer to an array of strings containing a description of a comparison type. The last element of the string must be NULL. If new comparison types are added, code must be provided for the comparison function. ═══ 2.12. CNRINFO ═══ Structure that contains information about the container. typedef struct _CNRINFO { ULONG cb; /* Structure size. */ PVOID pSortRecord; /* Pointer to the comparison function for sorting container records, or NULL. */ PFIELDINFO pFieldInfoLast; /* Pointer to the last column in the left window of the split details view, or NULL. */ PFIELDINFO pFieldInfoObject; /* Pointer to a column that represents an object in the details view. */ PSZ pszCnrTitle; /* Title text, or NULL. */ ULONG flWindowAttr; /* Window attributes. */ POINTL ptlOrigin; /* Workspace origin. */ ULONG cDelta; /* Threshold. */ ULONG cRecords; /* Number of records. */ SIZEL slBitmapOrIcon; /* Icon/bit-map size. */ SIZEL slTreeBitmapOrIcon; /* Icon/bit-map size. */ HBITMAP hbmExpanded; /* Bit-map handle. */ HBITMAP hbmCollapsed; /* Bit-map handle. */ HPOINTER hptrExpanded; /* Icon handle. */ HPOINTER hptrCollapsed; /* Icon handle. */ LONG cyLineSpacing; /* Vertical space. */ LONG cxTreeIndent; /* Horizontal space. */ LONG cxTreeLine; /* Line width. */ ULONG cFields; /* Number of columns. */ LONG xVertSplitbar; /* Split bar position. */ } CNRINFO; typedef CNRINFO *PCNRINFO; ═══ CNRINFO Parameter - cb ═══ cb (ULONG) Structure size. The size (in bytes) of the CNRINFO data structure. ═══ CNRINFO Parameter - pSortRecord ═══ pSortRecord (PVOID) Pointer to the comparison function for sorting container records, or NULL. If NULL, which is the default condition, no sorting is performed. Sorting occurs only during record insertion and when changing the value of this field. The third parameter of the comparison function, pStorage, must be NULL. See "CM_SORTRECORD" in the Presentation Manager Programming Reference for a further description of the comparison function. ═══ CNRINFO Parameter - pFieldInfoLast ═══ pFieldInfoLast (PFIELDINFO) Pointer to the last column in the left window of the split details view, or NULL. The default is NULL, which causes all columns to be positioned in the left window. ═══ CNRINFO Parameter - pFieldInfoObject ═══ pFieldInfoObject (PFIELDINFO) Pointer to a column that represents an object in the details view. The data for this FIELDINFO structure must contain icons or bit maps. In-use emphasis is applied to this column of icons or bit maps only. The default is the leftmost column in the unsplit details view or the leftmost column in the left window of the split details view. ═══ CNRINFO Parameter - pszCnrTitle ═══ pszCnrTitle (PSZ) Title text, or NULL. Text for the container title. The default is NULL. ═══ CNRINFO Parameter - flWindowAttr ═══ flWindowAttr (ULONG) Window attributes. Consists of container window attributes. o Specify one of the following container views, which determine the presentation format of items in a container: CV_ICON In the icon view, the container items are represented as icon/text or bit-map/text pairs, with text beneath the icons or bit maps. This is the default view. This view can be combined with the CV_MINI style bit by using an OR operator (|). CV_NAME In the name view, the container items are represented as icon/text or bit-map/text pairs, with text to the right of the icons or bit maps. This view can be combined with the CV_MINI and CV_FLOW style bits by using OR operators (|). CV_TEXT In the text view, the container items are displayed as a list of text strings. This view can be combined with the CV_FLOW style bit by using an OR operator (|). CV_TREE In the tree view, the container items are represented in a hierarchical manner. The tree view has three forms, which are defined in the following list. If you specify CV_TREE by itself, the tree icon view is used. - Tree icon view The tree icon view is specified by using a logical OR operator to combine the tree view with the icon view (CV_TREE | CV_ICON). Container items in this view are represented as icon/text pairs or bit-map/text pairs, with text to the right of the icons or bit maps. Also, a collapsed or expanded icon or bit map is displayed to the left of parent items. If this icon or bit map is a collapsed icon or bit map, selecting it will cause the parent item to be expanded so that its child items are displayed below it. If this icon or bit map is an expanded icon or bit map, selecting it will cause the parent's child items to be removed from the display. The default collapsed and expanded bit maps provided by the container use a plus sign (+) and a minus sign (-), respectively, to indicate that items can be added to or subtracted from the display. - Tree name view The tree name view is specified by using a logical OR operator to combine the tree view with the name view (CV_TREE | CV_NAME). Container items in this view are displayed as either icon/text pairs or bit-map/text pairs, with text to the right of the icons or bit maps. However, the indicator that represents whether an item can be collapsed or expanded, such as a plus or minus sign, is included in the icon or bit map that represents that item, not in a separate icon or bit map as in the tree icon and tree text views. The container control does not provide default collapsed and expanded bit maps for the tree name view. - Tree text view The tree text view is specified by using a logical OR operator to combine the tree view with the text view (CV_TREE | CV_TEXT). Container items in this view are displayed as a list of text strings. As in the tree icon view, a collapsed or expanded icon or bit map is displayed to the left of parent items. CV_DETAIL In the details view, the container items are presented in columns. Each column can contain icons or bit maps, text, numbers, dates, or times. o Specify one or both of the following view styles by using an OR operator (|) to combine them with the specified view. These view styles are optional. CV_MINI Produces a mini-icon whose size is based on the Presentation Manager (PM) SV_CYMENU system value to produce a device-dependent mini-icon. The CV_MINI view style bit is ignored when: - The text view (CV_TEXT), tree view (CV_TREE), or details view (CV_DETAIL) are displayed - The CCS_MINIRECORDCORE style bit is specified. If this style bit is not specified and the icon view (CV_ICON) or name view (CV_NAME) is used, the default, regular-sized icon is used. The size of regular-sized icons is based on the value in the slBitmapOrIcon field of the CNRINFO data structure. If this field is equal to 0, the PM SV_CXICON and SV_CYICON system values for width and height, respectively, are used. Icon sizes are consistent with PM-defined icon sizes for all devices. CV_FLOW Dynamically arranges container items in columns in the name and text views. These are called flowed name and flowed text views. If this style bit is set for the name view (CV_NAME) or text view (CV_TEXT), the container items are placed in a single column until the bottom of the client area is reached. The next container item is placed in the adjacent column to the right of the filled column. This process is repeated until all of the container items are positioned in the container. The width of each column is determined by the longest text string in that column. The size of the window determines the depth of the client area. If this style bit is not specified, the default condition for the name and text views is to vertically fill the container in a single column without flowing the container items. If this style bit is set for the icon view (CV_ICON) or details view (CV_DETAIL), it is ignored. o Specify either of the following to indicate whether the container will display icons or bit maps: CA_DRAWICON Icons are used for the icon, name, tree, or details views. This is the default. This container attribute should be used with the hptrIcon and hptrMiniIcon fields of the RECORDCORE data structure. CA_DRAWBITMAP Bit maps are used for the icon, name, tree, or details views. This container attribute can be used with the hbmBitmap and hbmMiniBitmap fields of the RECORDCORE data structure. Notes 1. If both the CA_DRAWICON and CA_DRAWBITMAP attributes are specified, the CA_DRAWICON attribute is used. 2. If the CCS_MINIRECORDCORE style bit is specified when a container is created, the hptrIcon field of the MINIRECORDCORE data structure is used. o Specify one of the following attributes to provide target emphasis for the name, text, and details views. If neither ordered nor mixed target emphasis is specified, the emphasis is drawn around the record. CA_ORDEREDTARGETEMPH Shows where a container record can be dropped during direct manipulation by drawing a line beneath the record. Ordered target emphasis does not apply to the icon and tree views. CA_MIXEDTARGETEMPH Shows where a container record can be dropped during direct manipulation either by drawing a line between two items or by drawing lines around the container record. Mixed target emphasis does not apply to the icon and tree views. o Specify the following attribute to draw lines that show the relationship between items in the tree view. CA_TREELINE Shows the relationship between all items in the tree view. o Specify the following to draw container records, paint the background of the container, or both: CA_OWNERDRAW Ownerdraw for the container, which allows the application to draw container records. CA_OWNERPAINTBACKGROUND Allows the application to subclass the container and paint the background. If specified, and the container is subclassed, the application receives the CM_PAINTBACKGROUND message in the subclass procedure. Otherwise, the container paints the background using the color specified by SYSCLR_WINDOW, which can be changed by using the PP_BACKGROUNDCOLOR or PP_BACKGROUNDCOLORINDEX presentation parameter in the WM_PRESPARAMCHANGED (in Container Controls) o Specify the following if the container is to have a title: CA_CONTAINERTITLE Allows you to include a container title. The default is no container title. o Specify one or both of the following container title attributes. These are valid only if the CA_CONTAINERTITLE attribute is specified. CA_TITLEREADONLY Prevents the container title from being edited directly. The default is to allow the container title to be edited. CA_TITLESEPARATOR Puts a separator line between the container title and the records beneath it. The default is no separator line. o Specify one of the following to position the container title. These are valid only if the CA_CONTAINERTITLE attribute is specified. CA_TITLECENTER Centers the container title. This is the default. CA_TITLELEFT Left-justifies the container title. CA_TITLERIGHT Right-justifies the container title. o Specify the following to display column headings in the details view: CA_DETAILSVIEWTITLES Allows you to include column headings in the details view. The default is no column headings. ═══ CNRINFO Parameter - ptlOrigin ═══ ptlOrigin (POINTL) Workspace origin. Lower-left origin of the workspace in virtual coordinates, used in the icon view. The default origin is (0,0). ═══ CNRINFO Parameter - cDelta ═══ cDelta (ULONG) Threshold. An application-defined threshold, or number of records, from either end of the list of available records. Used when a container needs to handle large amounts of data. The default is 0. See the OS/2 Programming Guide for more information about specifying deltas. ═══ CNRINFO Parameter - cRecords ═══ cRecords (ULONG) Number of records. The number of records in the container. Initially, this field is 0. ═══ CNRINFO Parameter - slBitmapOrIcon ═══ slBitmapOrIcon (SIZEL) Icon/bit-map size. The size (in pels) of icons or bit maps. The default is the system size. ═══ CNRINFO Parameter - slTreeBitmapOrIcon ═══ slTreeBitmapOrIcon (SIZEL) Icon/bit-map size. The size (in pels) of the expanded and collapsed icons or bit maps used in the tree icon and tree text views. ═══ CNRINFO Parameter - hbmExpanded ═══ hbmExpanded (HBITMAP) Bit-map handle. The handle of the bit map to be used to represent an expanded parent item in the tree icon and tree text views. If neither an icon handle (see hptrExpanded) nor a bit-map handle is specified, a default bit map with a minus sign (-) is provided. ═══ CNRINFO Parameter - hbmCollapsed ═══ hbmCollapsed (HBITMAP) Bit-map handle. The handle of the bit map to be used to represent a collapsed parent item in the tree icon and tree text views. If neither an icon handle (see hptrCollapsed) nor a bit-map handle is specified, a default bit map with a plus sign (+) is provided. ═══ CNRINFO Parameter - hptrExpanded ═══ hptrExpanded (HPOINTER) Icon handle. The handle of the icon to be used to represent an expanded parent item in the tree icon and tree text views. If neither an icon handle nor a bit-map handle (see hbmExpanded) is specified, a default bit map with a minus sign (-) is provided. ═══ CNRINFO Parameter - hptrCollapsed ═══ hptrCollapsed (HPOINTER) Icon handle. The handle of the icon to be used to represent a collapsed parent item in the tree icon and tree text views. If neither an icon handle nor a bit-map handle (see hbmCollapsed) is specified, a default bit map with a plus sign (+) is provided. ═══ CNRINFO Parameter - cyLineSpacing ═══ cyLineSpacing (LONG) Vertical space. The amount of vertical space (in pels) between the records. If you specify a value that is less than 0, a default value is used. ═══ CNRINFO Parameter - cxTreeIndent ═══ cxTreeIndent (LONG) Horizontal space. The amount of horizontal space (in pels) between levels in the tree view. If you specify a value that is less than 0, a default value is used. ═══ CNRINFO Parameter - cxTreeLine ═══ cxTreeLine (LONG) Line width. The width of the lines (in pels) that show the relationship between tree items. If you specify a value that is less than 0, a default value is used. Also, if the CA_TREELINE container attribute of the flWindowAttr field is not specified, these lines are not drawn. ═══ CNRINFO Parameter - cFields ═══ cFields (ULONG) Number of columns. The number of FIELDINFO structures in the container. Initially, this field is 0. ═══ CNRINFO Parameter - xVertSplitbar ═══ xVertSplitbar (LONG) Split bar position. The initial position of the split bar relative to the container used in the details view. If this value is less than 0, the split bar is not used. The default value is negative one (-1). ═══ 2.13. CTIME ═══ Structure that contains time information for a data element in the details view of a container control. typedef struct _CTIME { UCHAR hours; /* Current hour. */ UCHAR minutes; /* Current minute. */ UCHAR seconds; /* Current second. */ UCHAR ucReserved; /* Reserved. */ } CTIME; typedef CTIME *PCTIME; ═══ CTIME Parameter - hours ═══ hours (UCHAR) Current hour. ═══ CTIME Parameter - minutes ═══ minutes (UCHAR) Current minute. ═══ CTIME Parameter - seconds ═══ seconds (UCHAR) Current second. ═══ CTIME Parameter - ucReserved ═══ ucReserved (UCHAR) Reserved. ═══ 2.14. DEVOPENSTRUC ═══ Open-device data structure. typedef struct _DEVOPENSTRUC { PSZ pszLogAddress; /* Logical address. */ PSZ pszDriverName; /* Driver name. */ PDRIVDATA pdriv; /* Driver data. */ PSZ pszDataType; /* Data type. */ PSZ pszComment; /* Comment. */ PSZ pszQueueProcName; /* Queue-processor name. */ PSZ pszQueueProcParams; /* Queue-processor parameters. */ PSZ pszSpoolerParams; /* Spooler parameters. */ PSZ pszNetworkParams; /* Network parameters. */ } DEVOPENSTRUC; typedef DEVOPENSTRUC *PDEVOPENSTRUC; ═══ DEVOPENSTRUC Parameter - pszLogAddress ═══ pszLogAddress (PSZ) Logical address. This is required for an OD_DIRECT device being opened with DevOpenDC; it is the logical device address, such as "LPT1" on OS/2. Some drivers may accept a file name for this parameter or even a named pipe. Where output is to be queued (for an OD_QUEUED device), this is the name of the queue for the output device. The queue name can be a UNC name. Note: This parameter can be a port name for a printer device context. ═══ DEVOPENSTRUC Parameter - pszDriverName ═══ pszDriverName (PSZ) Driver name. Character string identifying the printer driver, for example, LASERJET. The Default Device Driver field of the PRQINFO3 structure, associated with the required print queue, gives the driver and device name, separated by a period, for example LASERJET.HP LaserJet IIID. It can contain only the name up to the period, for example LASERJET. ═══ DEVOPENSTRUC Parameter - pdriv ═══ pdriv (PDRIVDATA) Driver data. Data that is to be passed directly to the PM device driver. Whether any of this is required depends upon the device driver. For printer device context, this is a pointer to the job properties data. ═══ DEVOPENSTRUC Parameter - pszDataType ═══ pszDataType (PSZ) Data type. For an OD_QUEUED or OD_DIRECT device, this parameter defines the type of data that is to be queued as follows: PM_Q_STD Standard format PM_Q_RAW Raw format Note that a device driver can define other data types. For OD_QUEUED or OD_DIRECT defice types, the default is supplied by the device driver if pszDataType is not specified. For any other device type, pszDataType is ignored. ═══ DEVOPENSTRUC Parameter - pszComment ═══ pszComment (PSZ) Comment. Optional character string that the printer object displays to the user in a job settings notebook. It is recommended that the application include its own name in this comment string. Note: The job title text is derived from the document name passed to DevEscape (DEVESC_STARTDOC). ═══ DEVOPENSTRUC Parameter - pszQueueProcName ═══ pszQueueProcName (PSZ) Queue-processor name. This is the name of the queue processor, for queued output, and is usually the default. ═══ DEVOPENSTRUC Parameter - pszQueueProcParams ═══ pszQueueProcParams (PSZ) Queue-processor parameters. Queue processor parameters (optional). They can include information such as the number of copies you want to print and the size of the output area on the printed page. The first parameter (COP) is used for all spool-file formats. The remaining parameters are valid for PM_Q_STD spool files only. Because PM_Q_STD data are used mainly for graphic data, these parameters are described in relation to the printing of picture files. The PMPRINT/PMPLOT queue-processor parameters are separated by spaces and are: COP= n The COP parameter specifies the number of copies of the spool file that you want printed. The value of n must be an integer in the range of 1 through 999. The default is COP=1. ARE=C | w,h,l,t The ARE parameter determines the size and position of the output area. This is the area of the physical page to which printing is restricted. The default value of ARE=C means that the output area is the whole page. Note, however, that the printer cannot print outside its own device clip limits. To size and position the output area at a specific point on the page, use ARE= w,h,l,t , where: w, h are the width and height of the desired output area. l, t are the offsets of the upper-left corner of the output area from the left (l) and from the top (t) of the maximum output area. These four values must be given as percentages of the maximum output dimensions. The maximum output area is the area within the device clip limits. FIT=S | l,t The FIT parameter determines which part of the picture is to be printed. You can request the whole of the picture, scaled to fit the output area; or you can position the picture (actual size) anywhere within the output area. This could mean that the picture is clipped at the boundaries of the output area. The default value of FIT=S causes the output to be scaled until the larger of the height or width just fits within the defined output area. The aspect ratio of the picture is maintained. To print the picture in actual size, use FIT= l,t , where l,t are the coordinates of the point in the picture that you want positioned at the center of the output area: l is measured from the left edge of the picture; and t is measured from the top edge. The coordinates must be given as percentages of the actual dimensions of the picture. XFM=0 | 1 The XFM parameter enables you to override the picture-positioning and clipping instructions that are provided by the ARE and FIT parameters, including their defaults. The default value of XFM=1 allows the appearance of the output to be determined by the settings of the ARE and FIT parameters. A value of XFM=0 yields output as specified in the picture file. For example, applications that use many different forms can define different positions on each form for their output. COL=M | C The COL parameter enables you to specify color output if you have a color printer. A value of COL=M creates monochrome output (black foreground with no background color). This is supported by all devices. A value of COL=C creates color output. If you request color output on a monochrome device, the printer presentation driver tries to satisfy your request, which can cause problems because the only color available is black. For example, if the picture file specifies a red line on a blue background, both are drawn in black. The default is COL=M when you are addressing a monochrome printer and COL=C when you are addressing a color printer. MAP=N | A The MAP parameter enables you to decide how the neutral colors (those that are not specified in the picture file) are printed. The default value of MAP=N yields a normal representation of the screen picture on a printed page, which means that the page background is white and the foreground is black. A value of MAP=A provides the reverse of the normal representation: the background is black and the foreground is white on the printed page. CDP=codepage The CDP parameter overrides the codepage to being used for PM_Q_RAW print jobs. The print queue driver uses DEVESC_SETMODE to set the codepage, but not all printer drivers support this device escape. XLT=0 | 1 The XLT parameter can eliminate the translation component when printing a metafile if XLT=1. When the resolution of the device is higher than that of the world coordinate space, a small translation of world coordinate point (0,0) occurs on the device to preserve the accuracy of the mapping from world to device coordinate units. For example, (0,0) becomes (1,1) if there are 3 pels to every world coordinate. Normally, this is not noticeable, but it can be a problem with some devices. For example, in order to draw a complete row of 80 characters using a device font, a device may require the text to start at device coordinate position zero. Starting at a position other than zero may cause one or more characters at the end of the row to be clipped. In such cases, elimination of the translation is important and can be accomplished by specifying XLT=1. The default is XLT=0. ═══ DEVOPENSTRUC Parameter - pszSpoolerParams ═══ pszSpoolerParams (PSZ) Spooler parameters. Spooler parameters (optional) are separated by spaces. They are used for scheduling print jobs and are as follows: o The form names that identify the paper to be used, for example, FORM=A4,A5,ENV. The form names are optional; but if they are provided, the spooler is able to hold off printing the jobs until the required form is installed in the printer. If the form name is not provided, the spooler attempts to print the job. The printer driver recognizes that there is a forms problem and displays a FORMS MISMATCH message box. o Priority of the print job, for example, PRTY=60. The priority is specified as an integer in the range 1 through 99; 99 is the highest. The default priority value is 50. The application can use the spooler priority parameter to prioritize its own jobs; however, it is not good practice for an application always to use priority 99 in an attempt to get its jobs printed first. ═══ DEVOPENSTRUC Parameter - pszNetworkParams ═══ pszNetworkParams (PSZ) Network parameters. Optional parameter that can be used to specify network options; for example, USER=JOESMITH. ═══ 2.15. DRAGIMAGE ═══ Dragged-object-image structure which describes the images that are to be drawn under the direct-manipulation pointer for the duration of a drag operation. typedef struct _DRAGIMAGE { USHORT cb; /* Size, in bytes, of the DRAGIMAGE structure. */ USHORT cptl; /* The number of points in the point array if fl is specified as DRG_POLYGON. */ LHANDLE hImage; /* Handle representing the image to display. */ SIZEL sizlStretch; /* Dimensions for stretching when fl is specified as DRG_STRETCH. */ ULONG fl; /* Flags. */ SHORT cxOffset; /* X-offset from the pointer hot spot to the origin of the image. */ SHORT cyOffset; /* Y-offset from the pointer hot spot to the origin of the image. */ } DRAGIMAGE; typedef DRAGIMAGE *PDRAGIMAGE; ═══ DRAGIMAGE Parameter - cb ═══ cb (USHORT) Size, in bytes, of the DRAGIMAGE structure. ═══ DRAGIMAGE Parameter - cptl ═══ cptl (USHORT) The number of points in the point array if fl is specified as DRG_POLYGON. ═══ DRAGIMAGE Parameter - hImage ═══ hImage (LHANDLE) Handle representing the image to display. The type is determined by fl. ═══ DRAGIMAGE Parameter - sizlStretch ═══ sizlStretch (SIZEL) Dimensions for stretching when fl is specified as DRG_STRETCH. ═══ DRAGIMAGE Parameter - fl ═══ fl (ULONG) Flags. DRG_ICON hImage is an HPOINTER. DRG_BITMAP hImage is an HBITMAP. DRG_POLYGON hImage is a pointer to an array of points that will be connected with GpiPolyLine to form a polygon. The first point of the array should be (0,0), and the other points should be placed relative to this position. DRG_STRETCH If DRG_ICON or DRG_BITMAP is specified, the image is expanded or compressed to the dimensions specified by sizlStretch. DRG_TRANSPARENT If DRG_ICON is specified, an outline of the icon is generated and displayed instead of the original icon. DRG_CLOSED If DRG_POLYGON is specified, a closed polygon is formed by moving the current position to the last point in the array before calling GpiPolyLine. ═══ DRAGIMAGE Parameter - cxOffset ═══ cxOffset (SHORT) X-offset from the pointer hot spot to the origin of the image. ═══ DRAGIMAGE Parameter - cyOffset ═══ cyOffset (SHORT) Y-offset from the pointer hot spot to the origin of the image. ═══ 2.16. DRAGINFO ═══ Drag-information structure. typedef struct _DRAGINFO { ULONG cbDraginfo; /* Structure size, in bytes. */ USHORT cbDragitem; /* Size, in bytes, of each DRAGITEM structure. */ USHORT usOperation; /* Modified drag operations. */ HWND hwndSource; /* Window handle of the source of the drag operation. */ SHORT xDrop; /* X-coordinate of drop point expressed in desktop coordinates. */ SHORT yDrop; /* Y-coordinate of drop point expressed in desktop coordinates. */ USHORT cditem; /* Count of DRAGITEM structures. */ USHORT usReserved; /* Reserved. */ } DRAGINFO; typedef DRAGINFO *PDRAGINFO; ═══ DRAGINFO Parameter - cbDraginfo ═══ cbDraginfo (ULONG) Structure size, in bytes. The size includes the array of DRAGITEM structures. ═══ DRAGINFO Parameter - cbDragitem ═══ cbDragitem (USHORT) Size, in bytes, of each DRAGITEM structure. ═══ DRAGINFO Parameter - usOperation ═══ usOperation (USHORT) Modified drag operations. An application can define its own modified drag operations for use when simulating a drop. These operations must have a value greater than DO_UNKNOWN. Possible values are described in the following list: DO_DEFAULT Execute the default drag operation. No modifier keys are pressed. DO_COPY Execute a copy operation. The Ctrl key is pressed. DO_LINK Execute a link operation. The Ctrl+Shift keys are pressed. DO_MOVE Execute a move operation. The Shift key is pressed. DO_UNKNOWN An undefined combination of modifier keys is pressed. ═══ DRAGINFO Parameter - hwndSource ═══ hwndSource (HWND) Window handle of the source of the drag operation. ═══ DRAGINFO Parameter - xDrop ═══ xDrop (SHORT) X-coordinate of drop point expressed in desktop coordinates. ═══ DRAGINFO Parameter - yDrop ═══ yDrop (SHORT) Y-coordinate of drop point expressed in desktop coordinates. ═══ DRAGINFO Parameter - cditem ═══ cditem (USHORT) Count of DRAGITEM structures. ═══ DRAGINFO Parameter - usReserved ═══ usReserved (USHORT) Reserved. ═══ 2.17. DRAGITEM ═══ Drag-object structure. typedef struct _DRAGITEM { HWND hwndItem; /* Window handle of the source of the drag operation. */ ULONG ulItemID; /* Information used by the source to identify the object being dragged. */ HSTR hstrType; /* String handle of the object type. */ HSTR hstrRMF; /* String handle of the rendering mechanism and format. */ HSTR hstrContainerName; /* String handle of the name of the container holding the source object. */ HSTR hstrSourceName; /* String handle of the name of the source object. */ HSTR hstrTargetName; /* String handle of the suggested name of the object at the target. */ SHORT cxOffset; /* X-offset from the pointer hot spot to the origin of the image that represents this object. */ SHORT cyOffset; /* Y-offset from the pointer hot spot to the origin of the image that represents this object. */ USHORT fsControl; /* Source-object control flags. */ USHORT fsSupportedOps; /* Direct manipulation operations supported by the source object. */ } DRAGITEM; typedef DRAGITEM *PDRAGITEM; ═══ DRAGITEM Parameter - hwndItem ═══ hwndItem (HWND) Window handle of the source of the drag operation. ═══ DRAGITEM Parameter - ulItemID ═══ ulItemID (ULONG) Information used by the source to identify the object being dragged. ═══ DRAGITEM Parameter - hstrType ═══ hstrType (HSTR) String handle of the object type. The string handle must be created using the DrgAddStrHandle function. The string is of the form: type[,type...] The first type in the list must be the true type of the object. The following types are used by the OS/2* shell: DRT_ASM Assembler code DRT_BASIC BASIC code DRT_BINDATA Binary data DRT_BITMAP Bit map DRT_C C code DRT_COBOL COBOL code DRT_DLL Dynamic link library DRT_DOSCMD DOS command file DRT_EXE Executable file DRT_FONT Font DRT_FORTRAN FORTRAN code DRT_ICON Icon DRT_LIB Library DRT_METAFILE Metafile DRT_OS2CMD OS/2 command file DRT_PASCAL Pascal code DRT_RESOURCE Resource file DRT_TEXT Text DRT_UNKNOWN Unknown type. ═══ DRAGITEM Parameter - hstrRMF ═══ hstrRMF (HSTR) String handle of the rendering mechanism and format. The string handle must be created using the DrgAddStrHandle function. The string is of the form: mechfmt[,mechfmt...] where mechfmt can be in either of the following formats: o o (mechanism(1)[, mechanism(n)...]) x (format(1)[,format(n)...]) The first mechanism/format pair must be the native rendering mechanism and format of the object. Valid mechanisms are: "DRM_DDE" Dynamic data exchange "DRM_OBJECT" Item being dragged is a workplace object "DRM_OS2FILE" OS/2 file "DRM_PRINT" Object can be printed using direct manipulation. Valid formats are: "DRF_BITMAP" OS/2 bit map "DRF_DIB" DIB "DRF_DIF" DIF "DRF_DSPBITMAP" Stream of bit-map bits "DRF_METAFILE" Metafile "DRF_OEMTEXT" OEM text "DRF_OWNERDISPLAY" Bit stream "DRF_PTRPICT" Printer picture "DRF_RTF" Rich text "DRF_SYLK" SYLK "DRF_TEXT" Null-terminated string "DRF_TIFF" TIFF "DRF_UNKNOWN" Unknown format. ═══ DRAGITEM Parameter - hstrContainerName ═══ hstrContainerName (HSTR) String handle of the name of the container holding the source object. The string handle must be created using the DrgAddStrHandle function. ═══ DRAGITEM Parameter - hstrSourceName ═══ hstrSourceName (HSTR) String handle of the name of the source object. The string handle must be created using the DrgAddStrHandle function. ═══ DRAGITEM Parameter - hstrTargetName ═══ hstrTargetName (HSTR) String handle of the suggested name of the object at the target. It is the responsibility of the source of the drag operation to create this string handle before calling DrgDrag. ═══ DRAGITEM Parameter - cxOffset ═══ cxOffset (SHORT) X-offset from the pointer hot spot to the origin of the image that represents this object. This value is copied from cxOffset in the DRAGIMAGE structure by DrgDrag. ═══ DRAGITEM Parameter - cyOffset ═══ cyOffset (SHORT) Y-offset from the pointer hot spot to the origin of the image that represents this object. This value is copied from cyOffset in the DRAGIMAGE structure by DrgDrag. ═══ DRAGITEM Parameter - fsControl ═══ fsControl (USHORT) Source-object control flags. DC_OPEN Object is open DC_REF Reference to another object DC_GROUP Group of objects DC_CONTAINER Container of other objects DC_PREPARE Source requires a DM_RENDERPREPARE message before it establishes a data transfer conversation DC_REMOVEABLEMEDIA Object is on removable media, or object cannot be recovered after a move operation. ═══ DRAGITEM Parameter - fsSupportedOps ═══ fsSupportedOps (USHORT) Direct manipulation operations supported by the source object. DO_COPYABLE Source supports DO_COPY DO_LINKABLE Source supports DO_LINK DO_MOVEABLE Source supports DO_MOVE. ═══ 2.18. DRAGTRANSFER ═══ Drag-conversation structure. typedef struct _DRAGTRANSFER { ULONG cb; /* Size, in bytes, of the structure. */ HWND hwndClient; /* Handle of the client window. */ PDRAGITEM pditem; /* Pointer to the DRAGITEM structure that is to be rendered. */ HSTR hstrSelectedRMF; /* String handle for the selected rendering mechanism and format for the transfer operation. */ HSTR hstrRenderToName; /* String handle representing the name where the source places, and the target finds, the data that is rendered. */ ULONG ulTargetInfo; /* Reserved. */ USHORT usOperation; /* The operation. */ USHORT fsReply; /* Reply flags. */ } DRAGTRANSFER; typedef DRAGTRANSFER *PDRAGTRANSFER; ═══ DRAGTRANSFER Parameter - cb ═══ cb (ULONG) Size, in bytes, of the structure. ═══ DRAGTRANSFER Parameter - hwndClient ═══ hwndClient (HWND) Handle of the client window. This can be the target window or a window that represents an object in a container that was dropped on. ═══ DRAGTRANSFER Parameter - pditem ═══ pditem (PDRAGITEM) Pointer to the DRAGITEM structure that is to be rendered. This structure must exist within the DRAGINFO structure that was passed in the DM_DROP message. ═══ DRAGTRANSFER Parameter - hstrSelectedRMF ═══ hstrSelectedRMF (HSTR) String handle for the selected rendering mechanism and format for the transfer operation. This handle must be created using DrgAddStrHandle. The target is responsible for deleting this handle when the conversation is complete. The string is in the format: . ═══ DRAGTRANSFER Parameter - hstrRenderToName ═══ hstrRenderToName (HSTR) String handle representing the name where the source places, and the target finds, the data that is rendered. The target is responsible for deleting this string handle when the conversation terminates. The contents of this field vary according to the rendering mechanism. See the hstrRMF field in DRAGITEM. OS/2 File The string handle represents the fully qualified name of the file where the rendering will be placed. DDE This field is not used. Print This field is not used. ═══ DRAGTRANSFER Parameter - ulTargetInfo ═══ ulTargetInfo (ULONG) Reserved. Reserved for use by the target. The target can use this field for information about the object and rendering operation. ═══ DRAGTRANSFER Parameter - usOperation ═══ usOperation (USHORT) The operation. Values are: DO_COPY Execute a copy operation. DO_LINK Execute a link operation. DO_MOVE Execute a move operation. OTHER Execute an application-defined operation. ═══ DRAGTRANSFER Parameter - fsReply ═══ fsReply (USHORT) Reply flags. Reply flags for the message. These flags can be set as follows: DMFL_NATIVERENDER The source does not support rendering for this object. A source should not set this flag unless it provides sufficient information at the time of the drop for the target to perform the rendering operation. The target must send DM_ENDCONVERSATION to the source after carrying out the rendering operation or when it elects not to do a native rendering. DMFL_RENDERRETRY The source supports rendering for the object but does not support the selected rendering mechanism and format. The target can try another mechanism and format by sending another DM_RENDER message. If the target does not retry, it must send a DM_RENDERCOMPLETE message to the source. This flag is set in conjunction with the DMFL_NATIVERENDER flag. ═══ 2.19. DRIVDATA ═══ Driver-data structure. typedef struct _DRIVDATA { LONG cb; /* Length. */ LONG lVersion; /* Version. */ CHAR szDeviceName[32]; /* Device name. */ CHAR abGeneralData[1]; /* General data. */ } DRIVDATA; typedef DRIVDATA *PDRIVDATA; ═══ DRIVDATA Parameter - cb ═══ cb (LONG) Length. The length of the structure. ═══ DRIVDATA Parameter - lVersion ═══ lVersion (LONG) Version. The version number of the data. Version numbers are defined by particular PM device drivers. ═══ DRIVDATA Parameter - szDeviceName[32] ═══ szDeviceName[32] (CHAR) Device name. A string in a 32-byte field identifying the particular device (model number, and so on). Again, valid values are defined by PM device drivers. ═══ DRIVDATA Parameter - abGeneralData[1] ═══ abGeneralData[1] (CHAR) General data. Data as defined by the Presentation Manager device driver. The data type of this field is defined by the Presentation Manager device driver. It does not contain pointers, as these are not necessarily valid when passed to the device driver. ═══ 2.20. FATTRS ═══ Font-attributes structure. typedef struct _FATTRS { USHORT usRecordLength; /* Length of record. */ USHORT fsSelection; /* Selection indicators. */ LONG lMatch; /* Matched-font identity. */ CHAR szFacename[FACESIZE]; /* Typeface name. */ USHORT idRegistry; /* Registry identifier. */ USHORT usCodePage; /* Code page. */ LONG lMaxBaselineExt; /* Maximum baseline extension. */ LONG lAveCharWidth; /* Average character width. */ USHORT fsType; /* Type indicators. */ USHORT fsFontUse; /* Font-use indicators. */ } FATTRS; typedef FATTRS *PFATTRS; ═══ FATTRS Parameter - usRecordLength ═══ usRecordLength (USHORT) Length of record. ═══ FATTRS Parameter - fsSelection ═══ fsSelection (USHORT) Selection indicators. Flags causing the following features to be simulated by the system. Note: If an italic flag is applied to a font that is itself defined as italic, the font is slanted further by italic simulation. Underscore or strikeout lines are drawn using the appropriate attributes (for example, color) from the character bundle (see the CHARBUNDLE datatype), not the line bundle (see LINEBUNDLE). The width of the line, and the vertical position of the line in font space, are determined by the font. Horizontally, the line starts from a point in font space directly above or below the start point of each character, and extends to a point directly above or below the escapement point for that character. For this purpose, the start and escapement points are those applicable to left-to-right or right-to-left character directions (see GpiSetCharDirection in Graphics Programming Interface Programming Reference), even if the string is currently being drawn in a top-to-bottom or bottom-to-top direction. For left-to-right or right-to-left directions, any white space generated by the character extra and character break extra attributes (see GpiSetCharExtra and GpiSetCharBreakExtra in Graphics Programming Interface Programming Reference), as well as increments provided by the vector of increments on GpiCharStringPos and GpiCharStringPosAt, are also underlined/overstruck, so that in these cases the line is continuous for the string. FATTR_SEL_ITALIC Generate italic font. FATTR_SEL_UNDERSCORE Generate underscored font. FATTR_SEL_BOLD Generate bold font. (Note that the resulting characters are wider than those in the original font.) FATTR_SEL_STRIKEOUT Generate font with overstruck characters. FATTR_SEL_OUTLINE Use an outline font with hollow characters. If this flag is not set, outline font characters are filled. Setting this flag normally gives better performance, and for sufficiently small characters (depending on device resolution) there may be little visual difference. ═══ FATTRS Parameter - lMatch ═══ lMatch (LONG) Matched-font identity. ═══ FATTRS Parameter - szFacename[FACESIZE] ═══ szFacename[FACESIZE] (CHAR) Typeface name. The typeface name of the font, for example, Tms Rmn. ═══ FATTRS Parameter - idRegistry ═══ idRegistry (USHORT) Registry identifier. Font registry identifier (zero if unknown). ═══ FATTRS Parameter - usCodePage ═══ usCodePage (USHORT) Code page. If zero, the current Gpi code page (see GpiSetCp in Graphics Programming Interface Programming Reference) is used. A subsequent GpiSetCp function changes the code page used for this logical font. ═══ FATTRS Parameter - lMaxBaselineExt ═══ lMaxBaselineExt (LONG) Maximum baseline extension. For raster fonts, this should be the height of the required font, in world coordinates. For outline fonts, this should be zero. ═══ FATTRS Parameter - lAveCharWidth ═══ lAveCharWidth (LONG) Average character width. For raster fonts, this should be the width of the required font, in world coordinates. For outline fonts, this should be zero. ═══ FATTRS Parameter - fsType ═══ fsType (USHORT) Type indicators. FATTR_TYPE_KERNING Enable kerning (PostScript** only). FATTR_TYPE_MBCS Font for mixed single- and double-byte code pages. FATTR_TYPE_DBCS Font for double-byte code pages. FATTR_TYPE_ANTIALIASED Antialiased font required. Only valid if supported by the device driver. ═══ FATTRS Parameter - fsFontUse ═══ fsFontUse (USHORT) Font-use indicators. These flags indicate how the font is to be used. They affect presentation speed and font quality. FATTR_FONTUSE_NOMIX Text is not mixed with graphics and can be written without regard to any interaction with graphics objects. FATTR_FONTUSE_OUTLINE Select an outline (vector) font. The font characters can be used as part of a path definition. If this flag is not set, an outline font might or might not be selected. If an outline font is selected, however, character widths are rounded to an integral number of pels. FATTR_FONTUSE_TRANSFORMABLE Characters can be transformed (for example, scaled, rotated, or sheared). ═══ 2.21. FDATE ═══ Date data structure for file-system functions. typedef struct _FDATE { USHORT day:5; /* Binary day for directory entry. */ USHORT month:4; /* Binary month for directory entry. */ USHORT year:7; /* The number of years since 1980 for this directory entry. */ } FDATE; typedef FDATE *PFDATE; ═══ FDATE Parameter - day:5 ═══ day:5 (USHORT) Binary day for directory entry. ═══ FDATE Parameter - month:4 ═══ month:4 (USHORT) Binary month for directory entry. ═══ FDATE Parameter - year:7 ═══ year:7 (USHORT) The number of years since 1980 for this directory entry. ═══ 2.22. FEA2 ═══ 32-bit FEA2 data structure. The data structure defines the format for setting the full extended attributes in the file. typedef struct _FEA2 { ULONG oNextEntryOffset; /* Offset to next entry. */ BYTE fEA; /* Extended attributes flag. */ BYTE cbName; /* Length of szName, not including NULL. */ USHORT cbValue; /* Value length. */ CHAR szName[1]; /* Extended attribute name. */ } FEA2; typedef FEA2 *PFEA2; Extended attributes (EAs) are non-critical by default. A non-critical EA is one that is not necessary to the functionality of the application. If a non-critical EA is lost, the system continues to operate correctly. For example, losing the icons associated with data files does not generally cause any ill effect other than the inability to show the icon. A critical extended attribute is one which is necessary for the correct operation of the operating system or of a particular operation. EAs should be marked as critical if their loss would cause the system or program to perform incorrectly. For example, a mail program might store mail headers in EAs. The loss of the header from a message would normally render the mail program unable to further use that message. This would be unacceptable, so the mail program should mark this EA as critical. ═══ FEA2 Parameter - oNextEntryOffset ═══ oNextEntryOffset (ULONG) Offset to next entry. ═══ FEA2 Parameter - fEA ═══ fEA (BYTE) Extended attributes flag. FEA_NEEDEA Extended attributes are critical. If this flag is set, this file cannot be copied to a file system that does not support extended attributes. This flag should only be set if extended attributes are critical to the processing of this file. 0 Extended attributes are not critical. ═══ FEA2 Parameter - cbName ═══ cbName (BYTE) Length of szName, not including NULL. This value must be greater than 0. ═══ FEA2 Parameter - cbValue ═══ cbValue (USHORT) Value length. Sending an EA with cbValue set to 0 in the FEA2 data structure causes that attribute to be deleted, if possible. Receiving an EA with cbValue set to 0 in the FEA2 data structure indicates that the attribute is not present. ═══ FEA2 Parameter - szName[1] ═══ szName[1] (CHAR) Extended attribute name. ═══ 2.23. FEA2LIST ═══ FEA2 data structure. typedef struct _FEA2LIST { ULONG cbList; /* Total bytes of structure including full list. */ FEA2 list[1]; /* Variable-length FEA2 structures. */ } FEA2LIST; typedef FEA2LIST *PFEA2LIST; ═══ FEA2LIST Parameter - cbList ═══ cbList (ULONG) Total bytes of structure including full list. ═══ FEA2LIST Parameter - list[1] ═══ list[1] (FEA2) Variable-length FEA2 structures. ═══ 2.24. FIELDINFO ═══ Structure that contains information about column data in the details view of the container control. The details view displays each FIELDINFO structure as a column of data that contains specific information about each container record. For example, one FIELDINFO structure, or column, might contain icons or bit maps that represent each container record. Another FIELDINFO structure might contain the date or time that each container record was created. typedef struct _FIELDINFO { ULONG cb; /* Structure size. */ ULONG flData; /* Data attributes. */ ULONG flTitle; /* Column heading attributes. */ PVOID pTitleData; /* Column heading data. */ ULONG offStruct; /* Structure offset. */ PVOID pUserData; /* Pointer to user data. */ struct _FIELDINFO *pNextFieldInfo; /* Pointer to the next linked FIELDINFO data structure. */ ULONG cxWidth; /* Column width. */ } FIELDINFO; typedef FIELDINFO *PFIELDINFO; ═══ FIELDINFO Parameter - cb ═══ cb (ULONG) Structure size. The size (in bytes) of the FIELDINFO structure. ═══ FIELDINFO Parameter - flData ═══ flData (ULONG) Data attributes. Attributes of the data in a field. o Specify one of the following for each column to choose the type of data that is displayed in each column: CFA_BITMAPORICON The column contains bit-map or icon data. CFA_DATE The data in the column is displayed in date format. National Language Support (NLS) is enabled for date format. Use the data structure described in CDATE CFA_STRING Character or text data is displayed in this column. CFA_TIME The data in the column is displayed in time format. National Language Support (NLS) is enabled for time format. Use the data structure described in CTIME. CFA_ULONG Unsigned number data is displayed in this column. National Language Support (NLS) is enabled for number format. o Specify any or all of the following column attributes: CFA_FIREADONLY Prevents text in a FIELDINFO data structure (text in a column) from being edited directly. This attribute applies only to columns for which the CFA_STRING attribute has been specified. CFA_HORZSEPARATOR A horizontal separator is provided beneath column headings. CFA_INVISIBLE Invisible container column. The default is visible. CFA_OWNER Ownerdraw is enabled for this container column. CFA_SEPARATOR A vertical separator is drawn after this column. o Specify one of the following for each column to vertically position data in that column: CFA_BOTTOM Bottom-justifies field data. CFA_TOP Top-justifies field data. CFA_VCENTER Vertically centers field data. This is the default. o Specify one of the following for each column to horizontally position data in that column. These attributes can be combined with the attributes used for vertical positioning of column data by using an OR operator (|). CFA_CENTER Horizontally centers field data. CFA_LEFT Left-justifies field data. This is the default. CFA_RIGHT Right-justifies field data. ═══ FIELDINFO Parameter - flTitle ═══ flTitle (ULONG) Column heading attributes. o Specify the following if icon or bit-map data is to be displayed in the column heading: CFA_BITMAPORICON The column heading contains icon or bit-map data. If CFA_BITMAPORICON is not specified, any data that is assigned to a column heading is assumed to be character or text data. o Specify the following to prevent direct editing of a column heading: CFA_FITITLEREADONLY Prevents a column heading from being edited directly. o Specify one of the following for each column heading to vertically position data in that column heading: CFA_TOP Top-justifies column headings. CFA_BOTTOM Bottom-justifies column headings. CFA_VCENTER Vertically centers column headings. This is the default. o Specify one of the following for each column heading to horizontally position data in that column heading. These attributes can be combined with the attributes used for vertical positioning of column heading data by using an OR operator (|). CFA_CENTER Horizontally centers column headings. CFA_LEFT Left-justifies column headings. This is the default. CFA_RIGHT Right-justifies column headings. ═══ FIELDINFO Parameter - pTitleData ═══ pTitleData (PVOID) Column heading data. Column heading data, which can be a text string or an icon or bit map. The default is a text string. If the flTitle field is set to the CFA_BITMAPORICON attribute, this must be an icon or bit map. ═══ FIELDINFO Parameter - offStruct ═══ offStruct (ULONG) Structure offset. Offset from the beginning of a RECORDCORE structure to the data that is displayed in this column. Note: If the CCS_MINIRECORDCORE style bit is specified when a container is created, then MINIRECORDCORE should be used instead of RECORDCORE and PMINIRECORDCORE should be used instead of PRECORDCORE in all applicable data structures and messages. ═══ FIELDINFO Parameter - pUserData ═══ pUserData (PVOID) Pointer to user data. ═══ FIELDINFO Parameter - pNextFieldInfo ═══ pNextFieldInfo (struct _FIELDINFO *) Pointer to the next linked FIELDINFO data structure. ═══ FIELDINFO Parameter - cxWidth ═══ cxWidth (ULONG) Column width. Used to specify the width of a column. The default is an automatically sized column that is always the width of its widest element. If this field is set and the data is too wide, the data is truncated. ═══ 2.25. FILEFINDBUF4 ═══ 32-bit level 2 information (used with EAs). typedef struct _FILEFINDBUF4 { ULONG oNextEntryOffset; /* Offset of next entry. */ FDATE fdateCreation; /* Date of file creation. */ FTIME ftimeCreation; /* Time of file creation. */ FDATE fdateLastAccess; /* Date of last access. */ FTIME ftimeLastAccess; /* Time of last access. */ FDATE fdateLastWrite; /* Date of last write. */ FTIME ftimeLastWrite; /* Time of last write. */ ULONG cbFile; /* Size of file. */ ULONG cbFileAlloc; /* Allocated size. */ ULONG attrFile; /* File attributes. */ ULONG cbList; /* Size of the file's extended attributes. */ UCHAR cchName; /* Length of file name. */ CHAR achName[CCHMAXPATHCOMP]; /* File name including null terminator. */ } FILEFINDBUF4; typedef FILEFINDBUF4 *PFILEFINDBUF4; ═══ FILEFINDBUF4 Parameter - oNextEntryOffset ═══ oNextEntryOffset (ULONG) Offset of next entry. ═══ FILEFINDBUF4 Parameter - fdateCreation ═══ fdateCreation (FDATE) Date of file creation. ═══ FILEFINDBUF4 Parameter - ftimeCreation ═══ ftimeCreation (FTIME) Time of file creation. ═══ FILEFINDBUF4 Parameter - fdateLastAccess ═══ fdateLastAccess (FDATE) Date of last access. ═══ FILEFINDBUF4 Parameter - ftimeLastAccess ═══ ftimeLastAccess (FTIME) Time of last access. ═══ FILEFINDBUF4 Parameter - fdateLastWrite ═══ fdateLastWrite (FDATE) Date of last write. ═══ FILEFINDBUF4 Parameter - ftimeLastWrite ═══ ftimeLastWrite (FTIME) Time of last write. ═══ FILEFINDBUF4 Parameter - cbFile ═══ cbFile (ULONG) Size of file. ═══ FILEFINDBUF4 Parameter - cbFileAlloc ═══ cbFileAlloc (ULONG) Allocated size. ═══ FILEFINDBUF4 Parameter - attrFile ═══ attrFile (ULONG) File attributes. ═══ FILEFINDBUF4 Parameter - cbList ═══ cbList (ULONG) Size of the file's extended attributes. The size is measured in bytes and is the size of the file's entire extended attribute set on the disk. ═══ FILEFINDBUF4 Parameter - cchName ═══ cchName (UCHAR) Length of file name. ═══ FILEFINDBUF4 Parameter - achName[CCHMAXPATHCOMP] ═══ achName[CCHMAXPATHCOMP] (CHAR) File name including null terminator. ═══ 2.26. FIXED ═══ Signed-integer fraction (16:16). This can be treated as a LONG where the value has been multiplied by 65 536. typedef LONG FIXED; ═══ 2.27. FTIME ═══ Time data structure for file-system functions. typedef struct _FTIME { USHORT twosecs:5; /* Binary number of two-second increments. */ USHORT minutes:6; /* Binary number of minutes. */ USHORT hours:5; /* Binary number of hours. */ } FTIME; typedef FTIME *PFTIME; ═══ FTIME Parameter - twosecs:5 ═══ twosecs:5 (USHORT) Binary number of two-second increments. ═══ FTIME Parameter - minutes:6 ═══ minutes:6 (USHORT) Binary number of minutes. ═══ FTIME Parameter - hours:5 ═══ hours:5 (USHORT) Binary number of hours. ═══ 2.28. HAB ═══ Anchor-block handle. typedef LHANDLE HAB; ═══ 2.29. HBITMAP ═══ Bit-map handle. typedef LHANDLE HBITMAP; ═══ 2.30. HCINFO ═══ Hardcopy-capabilities structure. typedef struct _HCINFO { CHAR szFormname[32]; /* Form name. */ LONG cx; /* Width (left-to-right) in millimeters. */ LONG cy; /* Height (top-to-bottom) in millimeters. */ LONG xLeftClip; /* Left-clip limit in millimeters. */ LONG yBottomClip; /* Bottom-clip limit in millimeters. */ LONG xRightClip; /* Right-clip limit in millimeters. */ LONG yTopClip; /* Top-clip limit in millimeters. */ LONG xPels; /* Number of pels between left-clip and right-clip limits. */ LONG yPels; /* Number of pels between bottom-clip and top-clip limits. */ LONG flAttributes; /* Attributes of the form identifier. */ } HCINFO; typedef HCINFO *PHCINFO; ═══ HCINFO Parameter - szFormname[32] ═══ szFormname[32] (CHAR) Form name. ═══ HCINFO Parameter - cx ═══ cx (LONG) Width (left-to-right) in millimeters. ═══ HCINFO Parameter - cy ═══ cy (LONG) Height (top-to-bottom) in millimeters. ═══ HCINFO Parameter - xLeftClip ═══ xLeftClip (LONG) Left-clip limit in millimeters. ═══ HCINFO Parameter - yBottomClip ═══ yBottomClip (LONG) Bottom-clip limit in millimeters. ═══ HCINFO Parameter - xRightClip ═══ xRightClip (LONG) Right-clip limit in millimeters. ═══ HCINFO Parameter - yTopClip ═══ yTopClip (LONG) Top-clip limit in millimeters. ═══ HCINFO Parameter - xPels ═══ xPels (LONG) Number of pels between left-clip and right-clip limits. ═══ HCINFO Parameter - yPels ═══ yPels (LONG) Number of pels between bottom-clip and top-clip limits. ═══ HCINFO Parameter - flAttributes ═══ flAttributes (LONG) Attributes of the form identifier. HCAPS_SELECTABLE The form is installed on the printer as given by the printer properties dialog. It is available from an alternate form source without operator intervention. If the form does not have this bit set and is used (if the user selects it), a "forms mismatch" error is generated by the printer object. HCAPS_CURRENT The form is the one currently selected by the DevOpenDC DEVOPENSTRUC pdriv field (the job properties). ═══ 2.31. HFIND ═══ Handle associated with a wpclsFindObjectFirst request. typedef LHANDLE HFIND; ═══ 2.32. HMODULE ═══ Module handle. typedef LHANDLE HMODULE; ═══ 2.33. HMQ ═══ Message-queue handle. typedef LHANDLE HMQ; ═══ 2.34. HOBJECT ═══ Workplace object handle. typedef LHANDLE HOBJECT; ═══ 2.35. HPOINTER ═══ Pointer handle. typedef LHANDLE HPOINTER; ═══ 2.36. HPS ═══ Presentation-space handle. typedef LHANDLE HPS; ═══ 2.37. HSTR ═══ String handle. typedef LHANDLE HSTR; ═══ 2.38. HWND ═══ Window handle. typedef LHANDLE HWND; ═══ 2.39. ICONINFO ═══ Icon information data structure. typedef struct _ICONINFO { ULONG cb; /* Length of the ICONINFO structure. */ ULONG fFormat; /* Indicates where the icon resides. */ PSZ pszFileName; /* Name of the file containing icon data. */ HMODULE hmod; /* Module containing the the icon resource. */ ULONG resid; /* Identity of the icon resource. */ ULONG cbIconData; /* Length of the icon data in bytes. */ PVOID pIconData; /* Pointer to the buffer containing icon data. */ } ICONINFO; typedef ICONINFO *PICONINFO; ═══ ICONINFO Parameter - cb ═══ cb (ULONG) Length of the ICONINFO structure. ═══ ICONINFO Parameter - fFormat ═══ fFormat (ULONG) Indicates where the icon resides. Possible values are: ICON_FILE Icon file supplied. ICON_RESOURCE Icon resource supplied. ICON_DATA Icon data supplied. ICON_CLEAR Go back to default icon. ═══ ICONINFO Parameter - pszFileName ═══ pszFileName (PSZ) Name of the file containing icon data. This value is ignored if fFormat is not equal to ICON_FILE. ═══ ICONINFO Parameter - hmod ═══ hmod (HMODULE) Module containing the the icon resource. This value is ignored if fFormat is not equal to ICON_RESOURCE. ═══ ICONINFO Parameter - resid ═══ resid (ULONG) Identity of the icon resource. This value is ignored if fFormat is not equal to ICON_RESOURCE. ═══ ICONINFO Parameter - cbIconData ═══ cbIconData (ULONG) Length of the icon data in bytes. This value is ignored if fFormat is not equal to ICON_DATA. ═══ ICONINFO Parameter - pIconData ═══ pIconData (PVOID) Pointer to the buffer containing icon data. This value is ignored if fFormat is not equal to ICON_DATA. ═══ 2.40. LHANDLE ═══ The handle of a resource. typedef unsigned long LHANDLE; ═══ 2.41. LINEBUNDLE ═══ Line-attributes bundle structure. typedef struct _LINEBUNDLE { LONG lColor; /* Line foreground color. */ LONG lBackColor; /* Line background color. */ USHORT usMixMode; /* Line foreground-mix mode. */ USHORT usBackMixMode; /* Line background-mix mode. */ FIXED fxWidth; /* Line width. */ LONG lGeomWidth; /* Geometric line width. */ USHORT usType; /* Line type. */ USHORT usEnd; /* Line end. */ USHORT usJoin; /* Line join. */ USHORT usReserved; /* Reserved. */ } LINEBUNDLE; typedef LINEBUNDLE *PLINEBUNDLE; ═══ LINEBUNDLE Parameter - lColor ═══ lColor (LONG) Line foreground color. ═══ LINEBUNDLE Parameter - lBackColor ═══ lBackColor (LONG) Line background color. ═══ LINEBUNDLE Parameter - usMixMode ═══ usMixMode (USHORT) Line foreground-mix mode. ═══ LINEBUNDLE Parameter - usBackMixMode ═══ usBackMixMode (USHORT) Line background-mix mode. ═══ LINEBUNDLE Parameter - fxWidth ═══ fxWidth (FIXED) Line width. ═══ LINEBUNDLE Parameter - lGeomWidth ═══ lGeomWidth (LONG) Geometric line width. ═══ LINEBUNDLE Parameter - usType ═══ usType (USHORT) Line type. ═══ LINEBUNDLE Parameter - usEnd ═══ usEnd (USHORT) Line end. ═══ LINEBUNDLE Parameter - usJoin ═══ usJoin (USHORT) Line join. ═══ LINEBUNDLE Parameter - usReserved ═══ usReserved (USHORT) Reserved. ═══ 2.42. LINKITEM ═══ USAGE_LINK structure. typedef struct _LINKITEM { WPObject *LinkObj; /* The link object. */ } LINKITEM; typedef LINKITEM *PLINKITEM; ═══ LINKITEM Parameter - LinkObj ═══ LinkObj (WPObject *) The link object. Points to an object of class WPObject. ═══ 2.43. LONG ═══ Signed integer in the range -2 147 483 648 through 2 147 483 647. #define LONG long Note: Where this data type represents a graphic coordinate in world or model space, its value is restricted to -134 217 728 through 134 217 727. A graphic coordinate in device or screen coordinates is restricted to -32 768 through 32 767. The value of a graphic coordinate may be further restricted by any transforms currently in force, including the positioning of the origin of the window on the screen. In particular, coordinates in world or model space must not generate coordinate values after transformation (that is, in device or screen space) outside the range -32 768 through 32 767. ═══ 2.44. MEMORYITEM ═══ USAGE_MEMORY structure. typedef struct _MEMORYITEM { ULONG cbBuffer; /* Number of bytes in the memory block. */ } MEMORYITEM; typedef MEMORYITEM *PMEMORYITEM; ═══ MEMORYITEM Parameter - cbBuffer ═══ cbBuffer (ULONG) Number of bytes in the memory block. ═══ 2.45. MINIRECORDCORE ═══ Structure that contains information for records smaller than those defined by the RECORDCORE data structure. This data structure is used if the CCS_MINIRECORDCORE style bit is specified when a container is created. typedef struct _MINIRECORDCORE { ULONG cb; /* Structure size. */ ULONG flRecordAttr; /* Attributes of container records. */ POINTL ptlIcon; /* Record position. */ struct _MINIRECORDCORE *preccNextRecord; /* Pointer to the next linked record. */ PSZ pszIcon; /* Record text. */ HPOINTER hptrIcon; /* Record icon. */ } MINIRECORDCORE; typedef MINIRECORDCORE *PMINIRECORDCORE; ═══ MINIRECORDCORE Parameter - cb ═══ cb (ULONG) Structure size. The size (in bytes) of the MINIRECORDCORE structure. ═══ MINIRECORDCORE Parameter - flRecordAttr ═══ flRecordAttr (ULONG) Attributes of container records. Contains any or all of the following: CRA_COLLAPSED Specifies that a record is collapsed. CRA_CURSORED Specifies that a record will be drawn with a selection cursor. CRA_DROPONABLE Specifies that a record can be a target for direct manipulation. CRA_EXPANDED Specifies that a record is expanded. CRA_FILTERED Specifies that a record is filtered and, therefore, hidden from view. CRA_INUSE Specifies that a record will be drawn with in-use emphasis. CRA_RECORDREADONLY Prevents a record from being edited directly. CRA_SELECTED Specifies that a record will be drawn with selected-state emphasis. CRA_TARGET Specifies that a record will be drawn with target emphasis. ═══ MINIRECORDCORE Parameter - ptlIcon ═══ ptlIcon (POINTL) Record position. Position of a container record in the icon view. ═══ MINIRECORDCORE Parameter - preccNextRecord ═══ preccNextRecord (struct _MINIRECORDCORE *) Pointer to the next linked record. ═══ MINIRECORDCORE Parameter - pszIcon ═══ pszIcon (PSZ) Record text. Text for the container record. ═══ MINIRECORDCORE Parameter - hptrIcon ═══ hptrIcon (HPOINTER) Record icon. Icon that is displayed for the container record. ═══ 2.46. MPARAM ═══ A 4-byte message-dependent parameter structure. typedef VOID * MPARAM; Certain elements of information, placed into the parameters of a message, have data types that do not use all four bytes of this data type. The rules governing these cases are: BOOL The value is contained in the low word and the high word is 0. SHORT The value is contained in the low word and its sign is extended into the high word. USHORT The value is contained in the low word and the high word is 0. NULL The entire four bytes are 0. The structure of this data type depends on the message. For details, see the description of the particular message. ═══ 2.47. MRESULT ═══ A 4-byte message-dependent reply parameter structure. typedef VOID * MRESULT; Certain elements of information, placed into the parameters of a message, have data types that do not use all four bytes of this data type. The rules governing these cases are: BOOL The value is contained in the low word and the high word is 0. SHORT The value is contained in the low word and its sign is extended into the high word. USHORT The value is contained in the low word and the high word is 0. NULL The entire four bytes are 0. The structure of this data type depends on the message. For details, see the description of the particular message. ═══ 2.48. OBJCLASS ═══ Object class structure. typedef struct _OBJCLASS { struct _OBJCLASS *pNext; /* Pointer to the next object class structure. */ PSZ pszClassName; /* Class name. */ PSZ pszModName; /* Module name. */ } OBJCLASS; typedef OBJCLASS *POBJCLASS; ═══ OBJCLASS Parameter - pNext ═══ pNext (struct _OBJCLASS *) Pointer to the next object class structure. ═══ OBJCLASS Parameter - pszClassName ═══ pszClassName (PSZ) Class name. ═══ OBJCLASS Parameter - pszModName ═══ pszModName (PSZ) Module name. ═══ 2.49. OBJDATA ═══ Object data structure. Class-specific information is contained in this structure. typedef struct _OBJDATA { WPSRCLASSBLOCK *CurrentClass; /* Pointer to the current save or restore class block. */ WPSRCLASSBLOCK *First; /* Pointer to the first save or restore class block. */ PUCHAR NextData; /* Pointer to the next block of data. */ USHORT Length; /* Length. */ } OBJDATA; typedef OBJDATA *POBJDATA; ═══ OBJDATA Parameter - CurrentClass ═══ CurrentClass (WPSRCLASSBLOCK *) Pointer to the current save or restore class block. ═══ OBJDATA Parameter - First ═══ First (WPSRCLASSBLOCK *) Pointer to the first save or restore class block. ═══ OBJDATA Parameter - NextData ═══ NextData (PUCHAR) Pointer to the next block of data. ═══ OBJDATA Parameter - Length ═══ Length (USHORT) Length. ═══ 2.50. OBJECT ═══ Pointer to an object of class WPObject. typedef WPObject * OBJECT; ═══ 2.51. OWNERITEM ═══ Owner item. typedef struct _OWNERITEM { HWND hwnd; /* Window handle. */ HPS hps; /* Presentation-space handle. */ ULONG fsState; /* State. */ ULONG fsAttribute; /* Attribute. */ ULONG fsStateOld; /* Old state. */ ULONG fsAttributeOld; /* Old attribute. */ RECTL rclItem; /* Item rectangle. */ LONG idItem; /* Item identity. */ ULONG hItem; /* Item. */ } OWNERITEM; typedef OWNERITEM *POWNERITEM; ═══ OWNERITEM Parameter - hwnd ═══ hwnd (HWND) Window handle. ═══ OWNERITEM Parameter - hps ═══ hps (HPS) Presentation-space handle. ═══ OWNERITEM Parameter - fsState ═══ fsState (ULONG) State. ═══ OWNERITEM Parameter - fsAttribute ═══ fsAttribute (ULONG) Attribute. ═══ OWNERITEM Parameter - fsStateOld ═══ fsStateOld (ULONG) Old state. ═══ OWNERITEM Parameter - fsAttributeOld ═══ fsAttributeOld (ULONG) Old attribute. ═══ OWNERITEM Parameter - rclItem ═══ rclItem (RECTL) Item rectangle. ═══ OWNERITEM Parameter - idItem ═══ idItem (LONG) Item identity. ═══ OWNERITEM Parameter - hItem ═══ hItem (ULONG) Item. ═══ 2.52. PAGEINFO ═══ Settings page information structure. typedef struct _PAGEINFO { ULONG cb; /* Length of PAGEINFO structure. */ HWND hwndPage; /* Handle of page. */ PFNWP pfnwp; /* Window procedure. */ ULONG resid; /* Resource identity. */ PVOID pCreateParams; /* Pointer to creation parameters. */ USHORT dlgid; /* Dialog identity. */ USHORT usPageStyleFlags; /* Notebook control-page style flags. */ USHORT usPageInsertFlags; /* Notebook control-page insertion flags. */ USHORT usSettingsFlags; /* Settings flag. */ PSZ pszName; /* Pointer to a string containing the page name. */ USHORT idDefaultHelpPanel; /* Identity of the default help panel. */ USHORT usReserved2; /* Reserved value; must be zero. */ PSZ pszHelpLibraryName; /* Pointer to the name of the help file. */ PUSHORT pHelpSubtable; /* Pointer to the help subtable. */ HMODULE hmodHelpSubtable; /* Module handle for the help subtable. */ ULONG ulPageInsertId; /* Notebook control-page identity. */ } PAGEINFO; typedef PAGEINFO *PPAGEINFO; ═══ PAGEINFO Parameter - cb ═══ cb (ULONG) Length of PAGEINFO structure. ═══ PAGEINFO Parameter - hwndPage ═══ hwndPage (HWND) Handle of page. ═══ PAGEINFO Parameter - pfnwp ═══ pfnwp (PFNWP) Window procedure. ═══ PAGEINFO Parameter - resid ═══ resid (ULONG) Resource identity. ═══ PAGEINFO Parameter - pCreateParams ═══ pCreateParams (PVOID) Pointer to creation parameters. ═══ PAGEINFO Parameter - dlgid ═══ dlgid (USHORT) Dialog identity. ═══ PAGEINFO Parameter - usPageStyleFlags ═══ usPageStyleFlags (USHORT) Notebook control-page style flags. ═══ PAGEINFO Parameter - usPageInsertFlags ═══ usPageInsertFlags (USHORT) Notebook control-page insertion flags. ═══ PAGEINFO Parameter - usSettingsFlags ═══ usSettingsFlags (USHORT) Settings flag. This flag must be set to one of the following values: 0 You will not get page numbers. SETTINGS_PAGE_NUMBERS Page numbers will automatically be put on the status line for pages that have minor pages under the major tab page. If you want to use the page numbers, make sure all pages have this setting. ═══ PAGEINFO Parameter - pszName ═══ pszName (PSZ) Pointer to a string containing the page name. ═══ PAGEINFO Parameter - idDefaultHelpPanel ═══ idDefaultHelpPanel (USHORT) Identity of the default help panel. ═══ PAGEINFO Parameter - usReserved2 ═══ usReserved2 (USHORT) Reserved value; must be zero. ═══ PAGEINFO Parameter - pszHelpLibraryName ═══ pszHelpLibraryName (PSZ) Pointer to the name of the help file. ═══ PAGEINFO Parameter - pHelpSubtable ═══ pHelpSubtable (PUSHORT) Pointer to the help subtable. ═══ PAGEINFO Parameter - hmodHelpSubtable ═══ hmodHelpSubtable (HMODULE) Module handle for the help subtable. ═══ PAGEINFO Parameter - ulPageInsertId ═══ ulPageInsertId (ULONG) Notebook control-page identity. ═══ 2.53. PALINFO ═══ Class-specific palette information data. typedef struct _PALINFO { ULONG xCellCount; /* Number of columns of palinfos. */ ULONG yCellCount; /* Number of rows of palinfos. */ ULONG xCursor; /* Cursor location (read only). */ ULONG yCursor; /* Cursor location (read only). */ ULONG xCellWidth; /* Width of each palinfo. */ ULONG yCellHeight; /* Height of each palinfo. */ ULONG xGap; /* X separation of palinfos. */ ULONG yGap; /* Y separation of palinfos. */ } PALINFO; typedef PALINFO *PPALINFO; ═══ PALINFO Parameter - xCellCount ═══ xCellCount (ULONG) Number of columns of palinfos. ═══ PALINFO Parameter - yCellCount ═══ yCellCount (ULONG) Number of rows of palinfos. ═══ PALINFO Parameter - xCursor ═══ xCursor (ULONG) Cursor location (read only). ═══ PALINFO Parameter - yCursor ═══ yCursor (ULONG) Cursor location (read only). ═══ PALINFO Parameter - xCellWidth ═══ xCellWidth (ULONG) Width of each palinfo. ═══ PALINFO Parameter - yCellHeight ═══ yCellHeight (ULONG) Height of each palinfo. ═══ PALINFO Parameter - xGap ═══ xGap (ULONG) X separation of palinfos. ═══ PALINFO Parameter - yGap ═══ yGap (ULONG) Y separation of palinfos. ═══ 2.54. PCSZ ═══ Pointer to a constant null-terminated string. typedef const char * PCSZ; ═══ 2.55. PDEVOPENDATA ═══ Open device-data array. This data type points to data whose format is described by the DEVOPENSTRUC data type. typedef PSZ * PDEVOPENDATA; ═══ 2.56. PFNCOMPARE ═══ Pointer to a Details View comparison function. This function would be used if you wanted to sort on a non-standard data type or if you wanted to a custom sort. typedef FNCOMPARE *PFNCOMPARE; In the header file, this is a two-part definition as shown below: typedef LONG (EXPENTRY FNCOMPARE)(PVOID, PVOID); typedef FNCOMPARE *PFNCOMPARE; The first argument (PVOID) is a pointer to the Details View field value. The second argument (PVOID) is a pointer to the value it is to be compared with. The function returns a LONG value that must be one of the following: CMP_EQUAL 0 CMP_GREATER 1 CMP_LESS 2 ═══ 2.57. PFNOWNDRW ═══ Pointer to an owner-draw function for a Details View field. This function would be used if you wanted to draw the contents of the Details View field yourself, for example, as a graphic image or to use custom formatting. This function is called each time the field is painted. typedef FNOWNDRW *PFNOWNDRW; The first argument (HWND) is the handle of the Details View field-window being painted. The second argument (PVOID) is a pointer to an OWNERITEM data structure. The third argument (PVOID) is a pointer to the Comparison value to draw (this argument is NULL except when this function is painting its value into the Include Criteria Dialog (in the Settings notebook), in which case it points to a string containing a comparision value. The function returns a BOOL value of TRUE if the field was owner-drawn or FALSE if the container control should do default painting. In the header file, this is a two-part definition as shown below: typedef BOOL (EXPENTRY FNOWNDRW)(HWND, PVOID, PVOID); typedef FNOWNDRW *PFNOWNDRW; ═══ 2.58. PFNWP ═══ Pointer to a window procedure. This is the standard function definition for window procedures. typedef FNWP *PFNWP; The first argument (HWND) is the handle of the window receiving the message. The second argument (ULONG) is a message identifier. The third argument (MPARAM) is the first message paramenter (mp1). The fourth argument (MPARAM) is the second message paramenter (mp2). The function returns an MRESULT. Each message has a specific set of possible return codes. The window procedure must return a value that is appropriate for the message being processed. In the header file, this is a two-part definition as shown below: typedef MRESULT (EXPENTRY FNWP)(HWND, ULONG, MPARAM, MPARAM); typedef FNWP *PFNWP; Window procedures must be EXPORTED in the definitions file used by the linker. ═══ 2.59. POINTL ═══ Point structure (long integers). typedef struct _POINTL { LONG x; /* X-coordinate. */ LONG y; /* Y-coordinate. */ } POINTL; typedef POINTL *PPOINTL; ═══ POINTL Parameter - x ═══ x (LONG) X-coordinate. ═══ POINTL Parameter - y ═══ y (LONG) Y-coordinate. ═══ 2.60. PRINTDEST ═══ PRINTDEST data structure. Contains all the parameters required to issue DevPostDeviceModes and DevOpenDC function calls. typedef struct _PRINTDEST { ULONG cb; /* Length of data structure, in bytes. */ LONG lType; /* Type of device context. */ PSZ pszToken; /* Device-information token. */ LONG lCount; /* Number of items. */ PDEVOPENDATA pdopData; /* Open device context data area. */ ULONG fl; /* Flags. */ PSZ pszPrinter; /* Name of the printer. */ } PRINTDEST; typedef PRINTDEST *PPRINTDEST; ═══ PRINTDEST Parameter - cb ═══ cb (ULONG) Length of data structure, in bytes. ═══ PRINTDEST Parameter - lType ═══ lType (LONG) Type of device context. OD_QUEUED The device context is queued. OD_DIRECT The device context is direct. ═══ PRINTDEST Parameter - pszToken ═══ pszToken (PSZ) Device-information token. This is always "*". ═══ PRINTDEST Parameter - lCount ═══ lCount (LONG) Number of items. This is the number of items present in the pdopData field. ═══ PRINTDEST Parameter - pdopData ═══ pdopData (PDEVOPENDATA) Open device context data area. See DEVOPENSTRUC for information on the format of pdopData. ═══ PRINTDEST Parameter - fl ═══ fl (ULONG) Flags. PD_JOB_PROPERTY This flag indicates that DevPostDeviceModes should be called with DPDM_POSTJOBPROP before calling DevOpenDC. ═══ PRINTDEST Parameter - pszPrinter ═══ pszPrinter (PSZ) Name of the printer. A name that specifies the device; for example, "PRINTER1". The name is used for calling DevPostDeviceModes. The printer device name can be found by calling SplQueryQueue and passing to it the information found in the pszLogAddress field of the DEVOPENSTRUC structure pointed to by pdopData. SplQueryQueue returns a PRQINFO3 structure. The pszPrinters field in PRQINFO3 contains the printer device name to be used. ═══ 2.61. PROGCATEGORY ═══ Program category. typedef ULONG PROGCATEGORY; ═══ 2.62. PROGDETAILS ═══ Program-details structure. typedef struct _PROGDETAILS { ULONG Length; /* Length of structure. */ PROGTYPE progt; /* Program type. */ PSZ pszTitle; /* Title. */ PSZ pszExecutable; /* Executable file name. */ PSZ pszParameters; /* Parameter string. */ PSZ pszStartupDir; /* Start-up directory. */ PSZ pszIcon; /* Icon-file name. */ PSZ pszEnvironment; /* Environment string. */ SWP swpInitial; /* Initial window position and size. */ } PROGDETAILS; typedef PROGDETAILS *PPROGDETAILS; ═══ PROGDETAILS Parameter - Length ═══ Length (ULONG) Length of structure. ═══ PROGDETAILS Parameter - progt ═══ progt (PROGTYPE) Program type. ═══ PROGDETAILS Parameter - pszTitle ═══ pszTitle (PSZ) Title. ═══ PROGDETAILS Parameter - pszExecutable ═══ pszExecutable (PSZ) Executable file name. ═══ PROGDETAILS Parameter - pszParameters ═══ pszParameters (PSZ) Parameter string. ═══ PROGDETAILS Parameter - pszStartupDir ═══ pszStartupDir (PSZ) Start-up directory. ═══ PROGDETAILS Parameter - pszIcon ═══ pszIcon (PSZ) Icon-file name. ═══ PROGDETAILS Parameter - pszEnvironment ═══ pszEnvironment (PSZ) Environment string. A list of null-terminated strings ending with an extra NULL character. ═══ PROGDETAILS Parameter - swpInitial ═══ swpInitial (SWP) Initial window position and size. ═══ 2.63. PROGTYPE ═══ Program-type structure. typedef struct _PROGTYPE { PROGCATEGORY progc; /* Program category: */ ULONG fbVisible; /* Visibility attribute. */ } PROGTYPE; typedef PROGTYPE *PPROGTYPE; ═══ PROGTYPE Parameter - progc ═══ progc (PROGCATEGORY) Program category: PROG_DEFAULT Default application. PROG_PM Presentation Manager application. PROG_WINDOWABLEVIO Text-windowed application. PROG_FULLSCREEN Full-screen application. PROG_WINDOWEDVDM PC DOS executable process (windowed). PROG_VDM PC DOS executable process (full screen). PROG_REAL PC DOS executable process (full screen). Same as PROG_VDM. PROG_31_STDSEAMLESSVDM Windows 3.1 program that will execute in its own windowed WINOS2 session. PROG_31_STDSEAMLESSCOMMON Windows 3.1 program that will execute in a common windowed WINOS2 session. PROG_31_ENHSEAMLESSVDM Windows 3.1 program that will execute in enhanced compatibility mode in its own windowed WINOS2 session. PROG_31_ENHSEAMLESSCOMMON Windows 3.1 program that will execute in enhanced compatibility mode in a common windowed WINOS2 session. PROG_31_ENH Windows 3.1 program that will execute in enhanced compatibility mode in a full-screen WINOS2 session. PROG_31_STD Windows 3.1 program that will execute in a full-screen WINOS2 session. ═══ PROGTYPE Parameter - fbVisible ═══ fbVisible (ULONG) Visibility attribute. When testing this field, allow for the possibility that other bits may be defined in the future. SHE_INVISIBLE and SHE_PROTECTED can be used to mask the visibility and protected flags, respectively. SHE_VISIBLE Visible SHE_INVISIBLE Invisible SHE_UNPROTECTED Unprotected SHE_PROTECTED Protected. ═══ 2.64. PRQINFO3 ═══ Print-queue information structure. This structure is used at information levels 3 and 4. typedef struct _PRQINFO3 { PSZ pszName; /* Queue name. */ USHORT uPriority; /* Queue priority. */ USHORT uStartTime; /* Minutes after midnight when queue becomes active. */ USHORT uUntilTime; /* Minutes after midnight. when queue ceases to be active. */ USHORT fsType; /* Queue type. */ PSZ pszSepFile; /* Separator-page file. */ PSZ pszPrProc; /* Default queue-processor. */ PSZ pszParms; /* Queue parameters. */ PSZ pszComment; /* Queue description. */ USHORT fsStatus; /* Queue status. */ USHORT cJobs; /* Number of jobs in queue. */ PSZ pszPrinters; /* Print devices connected to queue. */ PSZ pszDriverName; /* Default device driver. */ PDRIVDATA pDriverData; /* Default queue job properties. */ } PRQINFO3; typedef PRQINFO3 *PPRQINFO3; ═══ PRQINFO3 Parameter - pszName ═══ pszName (PSZ) Queue name. The maximum length of the name in the network case is 256 (including one byte for zero termination). ═══ PRQINFO3 Parameter - uPriority ═══ uPriority (USHORT) Queue priority. The range is 1 through 9, with 1 being the highest queue priority. The default job priority (DefJobPrio) is determined from: DefJobPrio=100-(10* uPriority). If a job is added with PRJ_NO_PRIORITY specified, DefJobPrio is used. If a default priority higher than the default job priority is specified, the default job priority is used. If a default priority lower than the default is specified, the specified job priority is used. PRQ_DEF_PRIORITY Default priority PRQ_MAX_PRIORITY Highest priority PRQ_MIN_PRIORITY Minimum priority PRQ_NO_PRIORITY No priority. ═══ PRQINFO3 Parameter - uStartTime ═══ uStartTime (USHORT) Minutes after midnight when queue becomes active. For example, the value 75 represents 1:15 a.m. If uStartTime and uUntilTime are both 0, the print queue is always available. ═══ PRQINFO3 Parameter - uUntilTime ═══ uUntilTime (USHORT) Minutes after midnight. when queue ceases to be active. For example, the value 1200 represents 8 p.m. If uUntilTime and uStartTime are both 0, the print queue is always available. ═══ PRQINFO3 Parameter - fsType ═══ fsType (USHORT) Queue type. PRQ3_TYPE_RAW Data is always enqueued in the device specific format. PRQ3_TYPE_BYPASS Allows the spooler to bypass the queue processor and send data directly to the Printer Driver. Setting this bit allows the spooler to print jobs of type PM_Q_RAW while they are still being spooled. PRQ3_TYPE_APPDEFAULT This bit is set for the application default queue only. ═══ PRQINFO3 Parameter - pszSepFile ═══ pszSepFile (PSZ) Separator-page file. The path and file name of a separator-page file on the target computer. This file contains formatting information for the page or pages to be used between print jobs. A relative path name is taken as relative to the current spool directory. A NULL string indicates no separator page. ═══ PRQINFO3 Parameter - pszPrProc ═══ pszPrProc (PSZ) Default queue-processor. ═══ PRQINFO3 Parameter - pszParms ═══ pszParms (PSZ) Queue parameters. This can be any text string or a NULL string. ═══ PRQINFO3 Parameter - pszComment ═══ pszComment (PSZ) Queue description. A NULL string results in no comment. The maximum length is 48 characters (including one byte for the null terminator). ═══ PRQINFO3 Parameter - fsStatus ═══ fsStatus (USHORT) Queue status. PRQ3_PAUSED Queue is paused (held). PRQ3_PENDING Queue is pending deletion. ═══ PRQINFO3 Parameter - cJobs ═══ cJobs (USHORT) Number of jobs in queue. ═══ PRQINFO3 Parameter - pszPrinters ═══ pszPrinters (PSZ) Print devices connected to queue. This cannot be NULL. ═══ PRQINFO3 Parameter - pszDriverName ═══ pszDriverName (PSZ) Default device driver. ═══ PRQINFO3 Parameter - pDriverData ═══ pDriverData (PDRIVDATA) Default queue job properties. Note: An application can use pszDriverName, pDriverData, pszPrProc, and pszParms to construct a valid DevOpenDC call based only on the queue name. ═══ 2.65. PSZ ═══ Pointer to a null-terminated string. If you are using C++ **, you may need to use PCSZ. typedef unsigned char * PSZ; ═══ 2.66. PVOID ═══ Pointer to a data type of undefined format. typedef VOID * PVOID; ═══ 2.67. RECORDCORE ═══ Structure that contains information for records in a container control. This data structure is used if the CCS_MINIRECORDCORE style bit is not specified when a container is created. typedef struct _RECORDCORE { ULONG cb; /* The size, in bytes, of the RECORDCORE structure. */ ULONG flRecordAttr; /* Container record attributes. */ POINTL ptlIcon; /* Position of a container record in the icon view. */ struct _RECORDCORE *preccNextRecord; /* Pointer to the next linked record. */ PSZ pszIcon; /* Text for the icon view (CV_ICON). */ HPOINTER hptrIcon; /* Icon that is displayed when the CV_MINI style bit is not specified. */ HPOINTER hptrMiniIcon; /* Icon that is displayed when the CV_MINI style bit is specified. */ HBITMAP hbmBitmap; /* Bit map displayed when the CV_MINI style bit is not specified. */ HBITMAP hbmMiniBitmap; /* Bit map displayed when the CV_MINI style bit is specified. */ PTREEITEMDESC pTreeItemDesc; /* Pointer to a TREEITEMDESC structure. */ PSZ pszText; /* Text for the text view (CV_TEXT). */ PSZ pszName; /* Text for the name view (CV_NAME). */ PSZ pszTree; /* Text for the tree view (CV_TREE). */ } RECORDCORE; typedef RECORDCORE *PRECORDCORE; ═══ RECORDCORE Parameter - cb ═══ cb (ULONG) The size, in bytes, of the RECORDCORE structure. ═══ RECORDCORE Parameter - flRecordAttr ═══ flRecordAttr (ULONG) Container record attributes. This parameter can contain any or all of the following: CRA_COLLAPSED Specifies that a record is collapsed. CRA_CURSORED Specifies that a record will be drawn with a selection cursor. CRA_DISABLED Specifies that a record will be drawn with unavailable-state emphasis. CRA_DROPONABLE Specifies that a record can be a target for direct manipulation. CRA_EXPANDED Specifies that a record is expanded. CRA_FILTERED Specifies that a record is filtered and, therefore, hidden from view. CRA_INUSE Specifies that a record will be drawn with in-use emphasis. CRA_PICKED Specifies that the container record willl be picked up as part of the drag set. CRA_SELECTED Specifies that a record will be drawn with selected-state emphasis. CRA_SOURCE Specifies that a record will be drawn with source-menu emphasis. ═══ RECORDCORE Parameter - ptlIcon ═══ ptlIcon (POINTL) Position of a container record in the icon view. ═══ RECORDCORE Parameter - preccNextRecord ═══ preccNextRecord (struct _RECORDCORE *) Pointer to the next linked record. ═══ RECORDCORE Parameter - pszIcon ═══ pszIcon (PSZ) Text for the icon view (CV_ICON). ═══ RECORDCORE Parameter - hptrIcon ═══ hptrIcon (HPOINTER) Icon that is displayed when the CV_MINI style bit is not specified. This field is used when the CA_DRAWICON container attribute of the CNRINFO data structure is set. ═══ RECORDCORE Parameter - hptrMiniIcon ═══ hptrMiniIcon (HPOINTER) Icon that is displayed when the CV_MINI style bit is specified. This field is used when the CA_DRAWICON container attribute of the CNRINFO data structure is set. ═══ RECORDCORE Parameter - hbmBitmap ═══ hbmBitmap (HBITMAP) Bit map displayed when the CV_MINI style bit is not specified. This field is used when the CA_DRAWBITMAP container attribute of the CNRINFO data structure is set. ═══ RECORDCORE Parameter - hbmMiniBitmap ═══ hbmMiniBitmap (HBITMAP) Bit map displayed when the CV_MINI style bit is specified. This field is used when the CA_DRAWBITMAP container attribute of the CNRINFO data structure is set. ═══ RECORDCORE Parameter - pTreeItemDesc ═══ pTreeItemDesc (PTREEITEMDESC) Pointer to a TREEITEMDESC structure. The TREEITEMDESC structure contains the icons and bit maps used to represent the state of an expanded or collapsed parent item in the tree name view. ═══ RECORDCORE Parameter - pszText ═══ pszText (PSZ) Text for the text view (CV_TEXT). ═══ RECORDCORE Parameter - pszName ═══ pszName (PSZ) Text for the name view (CV_NAME). ═══ RECORDCORE Parameter - pszTree ═══ pszTree (PSZ) Text for the tree view (CV_TREE). ═══ 2.68. RECORDINSERT ═══ Structure that contains information about RECORDCORE structures that are being inserted into a container. The RECORDINSERT structure is used in the CM_INSERTRECORD container message only. Note: If the CCS_MINIRECORDCORE style bit is specified when a container is created, then MINIRECORDCORE should be used instead of RECORDCORE and PMINIRECORDCORE should be used instead of PRECORDCORE in all applicable data structures and messages. typedef struct _RECORDINSERT { ULONG cb; /* Structure size. */ PRECORDCORE pRecordOrder; /* Record order. */ PRECORDCORE pRecordParent; /* Pointer to record parent. */ ULONG fInvalidateRecord; /* Update flag. */ ULONG zOrder; /* Record z-order. */ ULONG cRecordsInsert; /* Number of root-level structures. */ } RECORDINSERT; typedef RECORDINSERT *PRECORDINSERT; ═══ RECORDINSERT Parameter - cb ═══ cb (ULONG) Structure size. The size (in bytes) of the RECORDINSERT structure. ═══ RECORDINSERT Parameter - pRecordOrder ═══ pRecordOrder (PRECORDCORE) Record order. Orders the RECORDCORE structures relative to other RECORDCORE structures in the container. The values can be: CMA_FIRST Places a RECORDCORE structure, or list of RECORDCORE structures, at the beginning of the list of structures. CMA_END Places a RECORDCORE structure, or list of RECORDCORE structures, at the end of the list of structures. Other Pointer to a RECORDCORE structure after which this structure, or list of structures, is to be inserted. ═══ RECORDINSERT Parameter - pRecordParent ═══ pRecordParent (PRECORDCORE) Pointer to record parent. Pointer to a RECORDCORE structure that is the parent of the records to be inserted. This field is used only with the CMA_FIRST or CMA_END attributes of the pRecordOrder field. ═══ RECORDINSERT Parameter - fInvalidateRecord ═══ fInvalidateRecord (ULONG) Update flag. Flag that indicates an automatic display update after RECORDCORE structures are inserted. TRUE The display is automatically updated after a RECORDCORE structure is inserted. FALSE The application must send the CM_INVALIDATERECORD message after a RECORDCORE structure is inserted. ═══ RECORDINSERT Parameter - zOrder ═══ zOrder (ULONG) Record z-order. Positions the RECORDCORE structure in z-order, relative to other records in the container. The values can be: CMA_TOP Places a RECORDCORE structure at the top of the z-order. This is the default value. CMA_BOTTOM Places a RECORDCORE structure at the bottom of the z-order. ═══ RECORDINSERT Parameter - cRecordsInsert ═══ cRecordsInsert (ULONG) Number of root-level structures. The number of root-level RECORDCORE structures to be inserted. The cRecordsInsert field value must be greater than 0. ═══ 2.69. RECORDITEM ═══ USAGE_RECORD structure. typedef struct _RECORDITEM { HWND hwndCnr; /* Container into which the object is inserted. */ PMINIRECORDCORE pRecord; /* Record pointer within the container. */ ULONG ulUser; /* For application use. */ } RECORDITEM; typedef RECORDITEM *PRECORDITEM; ═══ RECORDITEM Parameter - hwndCnr ═══ hwndCnr (HWND) Container into which the object is inserted. ═══ RECORDITEM Parameter - pRecord ═══ pRecord (PMINIRECORDCORE) Record pointer within the container. ═══ RECORDITEM Parameter - ulUser ═══ ulUser (ULONG) For application use. ═══ 2.70. RECTL ═══ Rectangle structure. typedef struct _RECTL { LONG xLeft; /* X-coordinate of left-hand edge of rectangle. */ LONG yBottom; /* Y-coordinate of bottom edge of rectangle. */ LONG xRight; /* X-coordinate of right-hand edge of rectangle. */ LONG yTop; /* Y-coordinate of top edge of rectangle. */ } RECTL; typedef RECTL *PRECTL; ═══ RECTL Parameter - xLeft ═══ xLeft (LONG) X-coordinate of left-hand edge of rectangle. ═══ RECTL Parameter - yBottom ═══ yBottom (LONG) Y-coordinate of bottom edge of rectangle. ═══ RECTL Parameter - xRight ═══ xRight (LONG) X-coordinate of right-hand edge of rectangle. ═══ RECTL Parameter - yTop ═══ yTop (LONG) Y-coordinate of top edge of rectangle. ═══ 2.71. SHORT ═══ Signed integer in the range -32 768 through 32 767. #define SHORT short ═══ 2.72. SIZEF ═══ Size structure (FIXED values). typedef struct _SIZEF { FIXED cx; /* Width. */ FIXED cy; /* Height. */ } SIZEF; typedef SIZEF *PSIZEF; ═══ SIZEF Parameter - cx ═══ cx (FIXED) Width. ═══ SIZEF Parameter - cy ═══ cy (FIXED) Height. ═══ 2.73. SIZEL ═══ Size structure (LONG values). typedef struct _SIZEL { LONG cx; /* Width. */ LONG cy; /* Height. */ } SIZEL; typedef SIZEL *PSIZEL; ═══ SIZEL Parameter - cx ═══ cx (LONG) Width. ═══ SIZEL Parameter - cy ═══ cy (LONG) Height. ═══ 2.74. SORTFASTINFO ═══ Sort record data structure. typedef struct _SORTFASTINFO { PFNCOMPARE pfnCompare; /* Pointer to the details view comparison function. */ ULONG FieldOffset; M_WPObject *Class; } SORTFASTINFO; typedef SORTFASTINFO *PSORTFASTINFO; ═══ SORTFASTINFO Parameter - pfnCompare ═══ pfnCompare (PFNCOMPARE) Pointer to the details view comparison function. ═══ SORTFASTINFO Parameter - FieldOffset ═══ FieldOffset (ULONG) ═══ SORTFASTINFO Parameter - Class ═══ Class (M_WPObject *) ═══ 2.75. SWP ═══ Set-window-position structure. typedef struct _SWP { ULONG fl; /* Options. */ LONG cy; /* Window height. */ LONG cx; /* Window width. */ LONG y; /* Y-coordinate of origin. */ LONG x; /* X-coordinate of origin. */ HWND hwndInsertBehind; /* Window behind which this window is placed. */ HWND hwnd; /* Window handle. */ ULONG ulReserved1; /* Reserved value; must be 0. */ ULONG ulReserved2; /* Reserved value; must be 0. */ } SWP; typedef SWP *PSWP; ═══ SWP Parameter - fl ═══ fl (ULONG) Options. Possible values are shown in the following list: SWP_ACTIVATE SWP_DEACTIVATE SWP_HIDE SWP_MAXIMIZE SWP_MINIMIZE SWP_MOVE SWP_NOADJUST SWP_NOERASEWINDOW SWP_NOREDRAW SWP_RESTORE SWP_SHOW SWP_SIZE SWP_ZORDER ═══ SWP Parameter - cy ═══ cy (LONG) Window height. ═══ SWP Parameter - cx ═══ cx (LONG) Window width. ═══ SWP Parameter - y ═══ y (LONG) Y-coordinate of origin. ═══ SWP Parameter - x ═══ x (LONG) X-coordinate of origin. ═══ SWP Parameter - hwndInsertBehind ═══ hwndInsertBehind (HWND) Window behind which this window is placed. ═══ SWP Parameter - hwnd ═══ hwnd (HWND) Window handle. ═══ SWP Parameter - ulReserved1 ═══ ulReserved1 (ULONG) Reserved value; must be 0. ═══ SWP Parameter - ulReserved2 ═══ ulReserved2 (ULONG) Reserved value; must be 0. ═══ 2.76. TREEITEMDESC ═══ Structure that contains icons and bit maps used to represent the state of an expanded or collapsed parent item in the tree name view of a container control. typedef struct _TREEITEMDESC { HBITMAP hbmExpanded; /* Expanded bit-map handle. */ HBITMAP hbmCollapsed; /* Collapsed bit-map handle. */ HPOINTER hptrExpanded; /* Expanded icon handle. */ HPOINTER hptrCollapsed; /* Collapsed icon handle. */ } TREEITEMDESC; typedef TREEITEMDESC *PTREEITEMDESC; ═══ TREEITEMDESC Parameter - hbmExpanded ═══ hbmExpanded (HBITMAP) Expanded bit-map handle. The handle of the bit map to be used to represent an expanded parent item in the tree name view. ═══ TREEITEMDESC Parameter - hbmCollapsed ═══ hbmCollapsed (HBITMAP) Collapsed bit-map handle. The handle of the bit map to be used to represent a collapsed parent item in the tree name view. ═══ TREEITEMDESC Parameter - hptrExpanded ═══ hptrExpanded (HPOINTER) Expanded icon handle. The handle of the icon to be used to represent an expanded parent item in the tree name view. ═══ TREEITEMDESC Parameter - hptrCollapsed ═══ hptrCollapsed (HPOINTER) Collapsed icon handle. The handle of the icon to be used to represent a collapsed parent item in the tree name view. ═══ 2.77. UCHAR ═══ Single-byte unsigned character or unsigned integer in the range 0 through 255. typedef unsigned char UCHAR; ═══ 2.78. ULONG ═══ Unsigned integer in the range 0 through 4 294 967 295. typedef unsigned long ULONG; ═══ 2.79. USEITEM ═══ Use-Item data structure. The USEITEM structure is always followed by a type-specific structure that is indicated by the type field. typedef struct _USEITEM { ULONG type; /* The type of this item. */ struct _USEITEM *pNext; /* Next item in the Use list. */ } USEITEM; typedef USEITEM *PUSEITEM; ═══ USEITEM Parameter - type ═══ type (ULONG) The type of this item. Possible values are: USAGE_LINK LINKITEM USAGE_MEMORY MEMORYITEM USAGE_RECORD RECORDITEM USAGE_OPENVIEW VIEWITEM USAGE_OPENFILE VIEWFILE ═══ USEITEM Parameter - pNext ═══ pNext (struct _USEITEM *) Next item in the Use list. ═══ 2.80. USHORT ═══ Unsigned integer in the range 0 through 65 535. typedef unsigned short USHORT; ═══ 2.81. VIEWFILE ═══ USAGE_OPENFILE structure. typedef struct _VIEWFILE { ULONG ulMenuId; /* Menu ID, if an association or menu page. */ LHANDLE handle; /* Open handle. */ HWND hwndCnr; /* System use only (window animation). */ PMINIRECORDCORE pRecord; /* System use only (window animation). */ } VIEWFILE; typedef VIEWFILE *PVIEWFILE; ═══ VIEWFILE Parameter - ulMenuId ═══ ulMenuId (ULONG) Menu ID, if an association or menu page. ═══ VIEWFILE Parameter - handle ═══ handle (LHANDLE) Open handle. ═══ VIEWFILE Parameter - hwndCnr ═══ hwndCnr (HWND) System use only (window animation). ═══ VIEWFILE Parameter - pRecord ═══ pRecord (PMINIRECORDCORE) System use only (window animation). ═══ 2.82. VIEWITEM ═══ USAGE_OPENVIEW structure. typedef struct _VIEWITEM { ULONG view; /* Object view that this represents. */ LHANDLE handle; /* Open handle. */ ULONG ulViewState; /* View state flags. */ HWND hwndCnr; /* System use only (window animation). */ PMINIRECORDCORE pRecord; /* System use only (window animation). */ } VIEWITEM; typedef VIEWITEM *PVIEWITEM; ═══ VIEWITEM Parameter - view ═══ view (ULONG) Object view that this represents. ═══ VIEWITEM Parameter - handle ═══ handle (LHANDLE) Open handle. ═══ VIEWITEM Parameter - ulViewState ═══ ulViewState (ULONG) View state flags. Possible values are: VIEWSTATE_OPENING The view is being opened. VIEWSTATE_OBJECTDELETED The object has been deleted. VIEWSTATE_USERHIDDEN The view was hidden by the user. VIEWSTATE_POPULATING The view is populating. VIEWSTATE_USERMINIMIZED The view was minimized by the user. VIEWSTATE_CLOSING The view is closing. VIEWSTATE_DELETING The object is being deleted. ═══ VIEWITEM Parameter - hwndCnr ═══ hwndCnr (HWND) System use only (window animation). ═══ VIEWITEM Parameter - pRecord ═══ pRecord (PMINIRECORDCORE) System use only (window animation). ═══ 2.83. VOID ═══ A data area of undefined format. #define VOID void ═══ 2.84. WPSRCLASSBLOCK ═══ Save or restore the class block structure. typedef struct _WPSRCLASSBLOCK { SHORT ClassNameLength; /* Length of class name. */ USHORT IVarLength; /* Length of the instance variable information. */ } WPSRCLASSBLOCK; typedef WPSRCLASSBLOCK *PWPSRCLASSBLOCK*; ═══ WPSRCLASSBLOCK Parameter - ClassNameLength ═══ ClassNameLength (SHORT) Length of class name. Includes the null terminator. This must be a short and must be at the beginning of the structure. The class name immediately follows the control block. The first instance variable control block immediately follows this. ═══ WPSRCLASSBLOCK Parameter - IVarLength ═══ IVarLength (USHORT) Length of the instance variable information. Includes the two-byte null terminator. ═══ 3. Glossary ═══ This glossary defines many of the terms used in this book. It includes terms and definitions from the IBM Dictionary of Computing, as well as terms specific to the OS/2 operating system and the Presentation Manager. It is not a complete glossary for the entire OS/2 operating system; nor is it a complete dictionary of computer terms. Other primary sources for these definitions are: o The American National Standard Dictionary for Information Systems, ANSI X3.172-1990, copyrighted 1990 by the American National Standards Institute, 11 West 42nd Street, New York, New York 10036. These definitions are identified by the symbol (A) after the definition. o The Information Technology Vocabulary, developed by Subcommittee 1, Joint Technical Committee 1, of the International Organization for Standardization and the International Electrotechnical Commission (ISO/IEC JTC1/SC1). Definitions of published parts of this vocabulary are identified by the symbol (I) after the definition; definitions taken from draft international standards, committee drafts, and working papers being developed by ISO/IEC JTC1/SC1 are identified by the symbol (T) after the definition, indicating that final agreement has not yet been reached among the participating National Bodies of SC1. ═══ 3.1. Glossary Listing ═══ Select a starting letter of glossary terms: A N B O C P D Q E R F S G T H U I V J W K X L Y M Z ═══ Glossary - A ═══ accelerator In SAA Common User Access architecture, a key or combination of keys that invokes an application-defined function. accelerator table A table used to define which key strokes are treated as accelerators and the commands they are translated into. access mode The manner in which an application gains access to a file it has opened. Examples of access modes are read-only, write-only, and read/write. access permission All access rights that a user has regarding an object. (I) action One of a set of defined tasks that a computer performs. Users request the application to perform an action in several ways, such as typing a command, pressing a function key, or selecting the action name from an action bar or menu. action bar In SAA Common User Access architecture, the area at the top of a window that contains choices that give a user access to actions available in that window. action point The current position on the screen at which the pointer is pointing. Contrast with hot spot and input focus. active program A program currently running on the computer. An active program can be interactive (running and receiving input from the user) or noninteractive (running but not receiving input from the user). See also interactive program and noninteractive program. active window The window with which the user is currently interacting. address space (1) The range of addresses available to a program. (A) (2) The area of virtual storage available for a particular job. alphanumeric video output Output to the logical video buffer when the video adapter is in text mode and the logical video buffer is addressed by an application as a rectangular array of character cells. American National Standard Code for Information Interchange The standard code, using a coded character set consisting of 7-bit coded characters (8 bits including parity check), that is used for information interchange among data processing systems, data communication systems, and associated equipment. The ASCII set consists of control characters and graphic characters. (A) Note: IBM has defined an extension to ASCII code (characters 128-255). anchor A window procedure that handles Presentation Manager* message conversions between an icon procedure and an application. anchor block An area of Presentation-Manager-internal resources to allocated process or thread that calls WinInitialize. anchor point A point in a window used by a program designer or by a window manager to position a subsequently appearing window. ANSI American National Standards Institute. APA All points addressable. API Application programming interface. application A collection of software components used to perform specific types of work on a computer; for example, a payroll application, an airline reservation application, a network application. application object In SAA Advanced Common User Access architecture, a form that an application provides for a user; for example, a spreadsheet form. Contrast with user object. application programming interface (API) A functional interface supplied by the operating system or by a separately orderable licensed program that allows an application program written in a high-level language to use specific data or functions of the operating system or the licensed program. application-modal Pertaining to a message box or dialog box for which processing must be completed before further interaction with any other window owned by the same application may take place. area In computer graphics, a filled shape such as a solid rectangle. ASCII American National Standard Code for Information Interchange. ASCIIZ A string of ASCII characters that is terminated with a byte containing the value 0. aspect ratio In computer graphics, the width-to-height ratio of an area, symbol, or shape. asynchronous (ASYNC) (1) Pertaining to two or more processes that do not depend upon the occurrence of specific events such as common timing signals. (T) (2) Without regular time relationship; unexpected or unpredictable with respect to the execution of program instructions. See also synchronous. atom A constant that represents a string. As soon as a string has been defined as an atom, the atom can be used in place of the string to save space. Strings are associated with their respective atoms in an atom table. See also integer atom. atom table A table used to relate atoms with the strings that they represent. Also in the table is the mechanism by which the presence of a string can be checked. atomic operation An operation that completes its work on an object before another operation can be performed on the same object. attribute A characteristic or property that can be controlled, usually to obtain a required appearance; for example, the color of a line. See also graphics attributes and segment attributes. automatic link In Information Presentation Facility (IPF), a link that begins a chain reaction at the primary window. When the user selects the primary window, an automatic link is activated to display secondary windows. AVIO Advanced Video Input/Output. ═══ Glossary - B ═══ BВzier curve (1) A mathematical technique of specifying smooth continous lines and surfaces, which require a starting point and a finishing point with several intermediate points that influence or control the path of the linking curve. Named after Dr. P. BВzier. (2) (D of C) In the AIX Graphics Library, a cubic spline approximation to a set of four control points that passes through the first and fourth control points and that has a continuous slope where two spline segments meet. Named after Dr. P. BВzier. background (1) In multiprogramming, the conditions under which low-priority programs are executed. Contrast with foreground. (2) An active session that is not currently displayed on the screen. background color The color in which the background of a graphic primitive is drawn. background mix An attribute that determines how the background of a graphic primitive is combined with the existing color of the graphics presentation space. Contrast with mix. background program In multiprogramming, a program that executes with a low priority. Contrast with foreground program. bit map A representation in memory of the data displayed on an APA device, usually the screen. block (1) A string of data elements recorded or transmitted as a unit. The elements may be characters, words, or logical records. (T) (2) To record data in a block. (3) A collection of contiguous records recorded as a unit. Blocks are separated by interblock gaps and each block may contain one or more records. (A) block device A storage device that performs I/O operations on blocks of data called sectors. Data on block devices can be randomly accessed. Block devices are designated by a drive letter (for example, C:). blocking mode A condition set by an application that determines when its threads might block. For example, an application might set the Pipemode parameter for the DosCreateNPipe function so that its threads perform I/O operations to the named pipe block when no data is available. border A visual indication (for example, a separator line or a background color) of the boundaries of a window. boundary determination An operation used to compute the size of the smallest rectangle that encloses a graphics object on the screen. breakpoint (1) A point in a computer program where execution may be halted. A breakpoint is usually at the beginning of an instruction where halts, caused by external intervention, are convenient for resuming execution. (T) (2) A place in a program, specified by a command or a condition, where the system halts execution and gives control to the workstation user or to a specified program. broken pipe When all of the handles that access one end of a pipe have been closed. bucket One or more fields in which the result of an operation is kept. buffer (1) A portion of storage used to hold input or output data temporarily. (2) To allocate and schedule the use of buffers. (A) button A mechanism used to request or initiate an action. See also barrel buttons, bezel buttons, mouse button, push button, and radio button. byte pipe Pipes that handle data as byte streams. All unnamed pipes are byte pipes. Named pipes can be byte pipes or message pipes. See byte stream. byte stream Data that consists of an unbroken stream of bytes. ═══ Glossary - C ═══ cache A high-speed buffer storage that contains frequently accessed instructions and data; it is used to reduce access time. cached micro presentation space A presentation space from a Presentation-Manager-owned store of micro presentation spaces. It can be used for drawing to a window only, and must be returned to the store when the task is complete. CAD Computer-Aided Design. call (1) The action of bringing a computer program, a routine, or a subroutine into effect, usually by specifying the entry conditions and jumping to an entry point. (I) (A) (2) To transfer control to a procedure, program, routine, or subroutine. calling sequence A sequence of instructions together with any associated data necessary to execute a call. (T) Cancel An action that removes the current window or menu without processing it, and returns the previous window. cascaded menu In the OS/2 operating system, a menu that appears when the arrow to the right of a cascading choice is selected. It contains a set of choices that are related to the cascading choice. Cascaded menus are used to reduce the length of a menu. See also cascading choice. cascading choice In SAA Common User Access architecture, a choice in a menu that, when selected, produces a cascaded menu containing other choices. An arrow () appears to the right of the cascading choice. CASE statement In PM programming, provides the body of a window procedure. There is usually one CASE statement for each message type supported by an application. CGA Color graphics adapter. chained list A list in which the data elements may be dispersed but in which each data element contains information for locating the next. (T)Synonymous with linked list. character A letter, digit, or other symbol. character box In computer graphics, the boundary that defines, in world coordinates, the horizontal and vertical space occupied by a single character from a character set. See also character mode. Contrast with character cell. character cell The physical, rectangular space in which any single character is displayed on a screen or printer device. Position is addressed by row and column coordinates. Contrast with character box. character code The means of addressing a character in a character set, sometimes called code point. character device A device that performs I/O operations on one character at a time. Because character devices view data as a stream of bytes, character-device data cannot be randomly accessed. Character devices include the keyboard, mouse, and printer, and are referred to by name. character mode A mode that, in conjunction with the font type, determines the extent to which graphics characters are affected by the character box, shear, and angle attributes. character set (1) An ordered set of unique representations called characters; for example, the 26 letters of English alphabet, Boolean 0 and 1, the set of symbols in the Morse code, and the 128 ASCII characters. (A) (2) All the valid characters for a programming language or for a computer system. (3) A group of characters used for a specific reason; for example, the set of characters a printer can print. check box In SAA Advanced Common User Access architecture, a square box with associated text that represents a choice. When a user selects a choice, an X appears in the check box to indicate that the choice is in effect. The user can clear the check box by selecting the choice again. Contrast with radio button. check mark (1) (D of C) In SAA Advanced Common User Access architecture, a symbol that shows that a choice is currently in effect. (2) The symbol that is used to indicate a selected item on a pull-down menu. child process In the OS/2 operating system, a process started by another process, which is called the parent process. Contrast with parent process. child window A window that appears within the border of its parent window (either a primary window or another child window). When the parent window is resized, moved, or destroyed, the child window also is resized, moved, or destroyed; however, the child window can be moved or resized independently from the parent window, within the boundaries of the parent window. Contrast with parent window. choice (1) An option that can be selected. The choice can be presented as text, as a symbol (number or letter), or as an icon (a pictorial symbol). (2) (D of C) In SAA Common User Access architecture, an item that a user can select. chord (1) To press more than one button on a pointing device while the pointer is within the limits that the user has specified for the operating environment. (2) (D of C) In graphics, a short line segment whose end points lie on a circle. Chords are a means for producing a circular image from straight lines. The higher the number of chords per circle, the smoother the circular image. class In object-oriented design or programming, a group of objects that share a common definition and that therefore share common properties, operations, and behavior. Members of the group are called instances of the class. class method In System Object Model, an action that can be performed on a class object. Synonymous with factory method. class object In System Object Model, the run-time implementation of a class. class style The set of properties that apply to every window in a window class. client (1) A functional unit that receives shared services from a server. (T) (2) A user, as in a client process that uses a named pipe or queue that is created and owned by a server process. client area The part of the window, inside the border, that is below the menu bar. It is the user's work space, where a user types information and selects choices from selection fields. In primary windows, it is where an application programmer presents the objects that a user works on. client program An application that creates and manipulates instances of classes. client window The window in which the application displays output and receives input. This window is located inside the frame window, under the window title bar and any menu bar, and within any scroll bars. clip limits The area of the paper that can be reached by a printer or plotter. clipboard In SAA Common User Access architecture, an area of computer memory, or storage, that temporarily holds data. Data in the clipboard is available to other applications. clipping In computer graphics, removing those parts of a display image that lie outside a given boundary. (I) (A) clipping area The area in which the window can paint. clipping path A clipping boundary in world-coordinate space. clock tick The minimum unit of time that the system tracks. If the system timer currently counts at a rate of X Hz, the system tracks the time every 1/X of a second. Also known as time tick. CLOCK$ Character-device name reserved for the system clock. code page An assignment of graphic characters and control-function meanings to all code points. code point (1) Synonym for character code. (2) (D of C) A 1-byte code representing one of 256 potential characters. code segment An executable section of programming code within a load module. color dithering See dithering. color graphics adapter (CGA) An adapter that simultaneously provides four colors and is supported by all IBM Personal Computer and Personal System/2 models. command The name and parameters associated with an action that a program can perform. command area An area composed of a command field prompt and a command entry field. command entry field An entry field in which users type commands. command line On a display screen, a display line, sometimes at the bottom of the screen, in which only commands can be entered. command mode A state of a system or device in which the user can enter commands. command prompt A field prompt showing the location of the command entry field in a panel. Common Programming Interface (CPI) Definitions of those application development languages and services that have, or are intended to have, implementations on and a high degree of commonality across the SAA environments. One of the three SAA architectural areas. See also Common User Access architecture. Common User Access (CUA) architecture Guidelines for the dialog between a human and a workstation or terminal. One of the three SAA architectural areas. See also Common Programming Interface. compile To translate a program written in a higher-level programming language into a machine language program. composite window A window composed of other windows (such as a frame window, frame-control windows, and a client window) that are kept together as a unit and that interact with each other. computer-aided design (CAD) The use of a computer to design or change a product, tool, or machine, such as using a computer for drafting or illustrating. COM1, COM2, COM3 Character-device names reserved for serial ports 1 through 3. CON Character-device name reserved for the console keyboard and screen. conditional cascaded menu A pull-down menu associated with a menu item that has a cascade mini-push button beside it in an object's pop-up menu. The conditional cascaded menu is displayed when the user selects the mini-push button. container In SAA Common User Access architecture, an object that holds other objects. A folder is an example of a container object. See also folder and object. contextual help In SAA Common User Access Architecture, help that gives specific information about the item the cursor is on. The help is contextual because it provides information about a specific item as it is currently being used. Contrast with extended help. contiguous Touching or joining at a common edge or boundary, for example, an unbroken consecutive series of storage locations. control In SAA Advanced Common User Access architecture, a component of the user interface that allows a user to select choices or type information; for example, a check box, an entry field, a radio button. control area A storage area used by a computer program to hold control information. (I) (A) Control Panel In the Presentation Manager, a program used to set up user preferences that act globally across the system. Control Program (1) The basic functions of the operating system, including DOS emulation and the support for keyboard, mouse, and video input/output. (2) A computer program designed to schedule and to supervise the execution of programs of a computer system. (I) (A) control window A window that is used as part of a composite window to perform simple input and output tasks. Radio buttons and check boxes are examples. control word An instruction within a document that identifies its parts or indicates how to format the document. coordinate space A two-dimensional set of points used to generate output on a video display of printer. Copy A choice that places onto the clipboard, a copy of what the user has selected. See also Cut and Paste. correlation The action of determining which element or object within a picture is at a given position on the display. This follows a pick operation. coverpage window A window in which the application's help information is displayed. CPI Common Programming Interface. critical extended attribute An extended attribute that is necessary for the correct operation of the system or a particular application. critical section (1) In programming languages, a part of an asynchronous procedure that cannot be executed simultaneously with a certain part of another asynchronous procedure. (I) Note: Part of the other asynchronous procedure also is a critical section. (2) A section of code that is not reentrant; that is, code that can be executed by only one thread at a time. CUA architecture Common User Access architecture. current position In computer graphics, the position, in user coordinates, that becomes the starting point for the next graphics routine, if that routine does not explicitly specify a starting point. cursor A symbol displayed on the screen and associated with an input device. The cursor indicates where input from the device will be placed. Types of cursors include text cursors, graphics cursors, and selection cursors. Contrast with pointer and input focus. Cut In SAA Common User Access architecture, a choice that removes a selected object, or a part of an object, to the clipboard, usually compressing the space it occupied in a window. See also Copy and Paste. ═══ Glossary - D ═══ daisy chain A method of device interconnection for determining interrupt priority by connecting the interrupt sources serially. data segment A nonexecutable section of a program module; that is, a section of a program that contains data definitions. data structure The syntactic structure of symbolic expressions and their storage-allocation characteristics. (T) data transfer The movement of data from one object to another by way of the clipboard or by direct manipulation. DBCS Double-byte character set. DDE Dynamic data exchange. deadlock (1) Unresolved contention for the use of a resource. (2) An error condition in which processing cannot continue because each of two elements of the process is waiting for an action by, or a response from, the other. (3) An impasse that occurs when multiple processes are waiting for the availability of a resource that will not become available because it is being held by another process that is in a similar wait state. debug To detect, diagnose, and eliminate errors in programs. (T) decipoint In printing, one tenth of a point. There are 72 points in an inch. default procedure A function provided by the Presentation Manager Interface that may be used to process standard messages from dialogs or windows. default value A value assumed when no value has been specified. Synonymous with assumed value. For example, in the graphics programming interface, the default line-type is `solid'. definition list A type of list that pairs a term and its description. delta An application-defined threshold, or number of container items, from either end of the list. descendant See child process. descriptive text Text used in addition to a field prompt to give more information about a field. Deselect all A choice that cancels the selection of all of the objects that have been selected in that window. Desktop Manager In the Presentation Manager, a window that displays a list of groups of programs, each of which can be started or stopped. desktop window The window, corresponding to the physical device, against which all other types of windows are established. detached process A background process that runs independent of the parent process. detent A point on a slider that represents an exact value to which a user can move the slider arm. device context A logical description of a data destination such as memory, metafile, display, printer, or plotter. See also direct device context, information device context, memory device context, metafile device context, queued device context, and screen device context. device driver A file that contains the code needed to attach and use a device such as a display, printer, or plotter. device space (1) Coordinate space in which graphics are assembled after all GPI transformations have been applied. Device space is defined in device-specific units. (2) (D of C) In computer graphics, a space defined by the complete set of addressable points of a display device. (A) dialog The interchange of information between a computer and its user through a sequence of requests by the user and the presentation of responses by the computer. dialog box In SAA Advanced Common User Access architecture, a movable window, fixed in size, containing controls that a user uses to provide information required by an application so that it can continue to process a user request. See also message box, primary window, secondary window. Also known as a pop-up window. Dialog Box Editor A WYSIWYG editor that creates dialog boxes for communicating with the application user. dialog item A component (for example, a menu or a button) of a dialog box. Dialog items are also used when creating dialog templates. dialog procedure A dialog window that is controlled by a window procedure. It is responsible for responding to all messages sent to the dialog window. dialog tag language A markup language used by the DTL compiler to create dialog objects. dialog template The definition of a dialog box, which contains details of its position, appearance, and window ID, and the window ID of each of its child windows. direct device context A logical description of a data destination that is a device other than the screen (for example, a printer or plotter), and where the output is not to go through the spooler. Its purpose is to satisfy queries. See also device context. direct manipulation The user's ability to interact with an object by using the mouse, typically by dragging an object around on the Desktop and dropping it on other objects. direct memory access (DMA) A technique for moving data directly between main storage and peripheral equipment without requiring processing of the data by the processing unit.(T) directory A type of file containing the names and controlling information for other files or other directories. display point Synonym for pel. dithering (1) The process used in color displays whereby every other pel is set to one color, and the intermediate pels are set to another. Together they produce the effect of a third color at normal viewing distances. This process can only be used on solid areas of color; it does not work, for example, on narrow lines. (2) (D of C ) In computer graphics, a technique of interleaving dark and light pixels so that the resulting image looks smoothly shaded when viewed from a distance. DMA Direct memory access. DOS Protect Mode Interface (DPMI) An interface between protect mode and real mode programs. double-byte character set (DBCS) A set of characters in which each character is represented by two bytes. Languages such as Japanese, Chinese, and Korean, which contain more characters than can be represented by 256 code points, require double-byte character sets. Since each character requires two bytes, the entering, displaying, and printing of DBCS characters requires hardware and software that can support DBCS. doubleword A contiguous sequence of bits or characters that comprises two computer words and is capable of being addressed as a unit. (A) DPMI DOS Protect Mode Interface. drag In SAA Common User Access, to use a pointing device to move an object; for example, clicking on a window border, and dragging it to make the window larger. dragging (1) In computer graphics, moving an object on the display screen as if it were attached to the pointer. (2) (D of C) In computer graphics, moving one or more segments on a display surface by translating. (I) (A) drawing chain See segment chain. drop To fix the position of an object that is being dragged, by releasing the select button of the pointing device. drop To fix the position of an object that is being dragged, by releasing the select button of the pointing device. See also drag. DTL Dialog tag language. dual-boot function A feature of the OS/2 operating system that allows the user to start DOS from within the operating system, or an OS/2 session from within DOS. duplex Pertaining to communication in which data can be sent and received at the same time. Synonymous with full duplex. dynamic data exchange (DDE) A message protocol used to communicate between applications that share data. The protocol uses shared memory as the means of exchanging data between applications. dynamic data formatting A formatting procedure that enables you to incorporate text, bit maps or metafiles in an IPF window at execution time. dynamic link library A collection of executable programming code and data that is bound to an application at load time or run time, rather than during linking. The programming code and data in a dynamic link library can be shared by several applications simultaneously. dynamic linking The process of resolving external references in a program module at load time or run time rather than during linking. dynamic segments Graphics segments drawn in exclusive-OR mix mode so that they can be moved from one screen position to another without affecting the rest of the displayed picture. dynamic storage (1) A device that stores data in a manner that permits the data to move or vary with time such that the specified data is not always available for recovery. (A) (2) A storage in which the cells require repetitive application of control signals in order to retain stored data. Such repetitive application of the control signals is called a refresh operation. A dynamic storage may use static addressing or sensing circuits. (A) (3) See also static storage. dynamic time slicing Varies the size of the time slice depending on system load and paging activity. dynamic-link module A module that is linked at load time or run time. ═══ Glossary - E ═══ EBCDIC Extended binary-coded decimal interchange code. A coded character set consisting of 8-bit coded characters (9 bits including parity check), used for information interchange among data processing systems, data communications systems, and associated equipment. edge-triggered Pertaining to an event semaphore that is posted then reset before a waiting thread gets a chance to run. The semaphore is considered to be posted for the rest of that thread's waiting period; the thread does not have to wait for the semaphore to be posted again. EGA Extended graphics adapter. element An entry in a graphics segment that comprises one or more graphics orders and that is addressed by the element pointer. EMS Expanded Memory Specification. encapsulation Hiding an object's implementation, that is, its private, internal data and methods. Private variables and methods are accessible only to the object that contains them. entry field In SAA Common User Access architecture, an area where a user types information. Its boundaries are usually indicated. See also selection field. entry panel A defined panel type containing one or more entry fields and protected information such as headings, prompts, and explanatory text. entry-field control The component of a user interface that provides the means by which the application receives data entered by the user in an entry field. When it has the input focus, the entry field displays a flashing pointer at the position where the next typed character will go. environment segment The list of environment variables and their values for a process. environment strings ASCII text strings that define the value of environment variables. environment variables Variables that describe the execution environment of a process. These variables are named by the operating system or by the application. Environment variables named by the operating system are PATH, DPATH, INCLUDE, INIT, LIB, PROMPT, and TEMP. The values of environment variables are defined by the user in the CONFIG.SYS file, or by using the SET command at the OS/2 command prompt. error message An indication that an error has been detected. (A) event semaphore A semaphore that enables a thread to signal a waiting thread or threads that an event has occurred or that a task has been completed. The waiting threads can then perform an action that is dependent on the completion of the signaled event. exception An abnormal condition such as an I/O error encountered in processing a data set or a file. exclusive system semaphore A system semaphore that can be modified only by threads within the same process. executable file (1) A file that contains programs or commands that perform operations or actions to be taken. (2) A collection of related data records that execute programs. exit To execute an instruction within a portion of a computer program in order to terminate the execution of that portion. Such portions of computer programs include loops, subroutines, modules, and so on. (T) Repeated exit requests return the user to the point from which all functions provided to the system are accessible. Contrast with cancel. expanded memory specification (EMS) Enables DOS applications to access memory above the 1MB real mode addressing limit. extended attribute An additional piece of information about a file object, such as its data format or category. It consists of a name and a value. A file object may have more than one extended attribute associated with it. extended help In SAA Common User Access architecture, a help action that provides information about the contents of the application window from which a user requested help. Contrast with contextual help. extended-choice selection A mode that allows the user to select more than one item from a window. Not all windows allow extended choice selection. Contrast with multiple-choice selection. extent Continuous space on a disk or diskette that is occupied by or reserved for a particular data set, data space, or file. external link In Information Presentation Facility, a link that connects external online document files. ═══ Glossary - F ═══ family-mode application An application program that can run in the OS/2 environment and in the DOS environment; however, it cannot take advantage of many of the OS/2-mode facilities, such as multitasking, interprocess communication, and dynamic linking. FAT File allocation table. FEA Full extended attribute. field-level help Information specific to the field on which the cursor is positioned. This help function is "contextual" because it provides information about a specific item as it is currently used; the information is dependent upon the context within the work session. FIFO First-in-first-out. (A) file A named set of records stored or processed as a unit. (T) file allocation table (FAT) In IBM personal computers, a table used by the operating system to allocate space on a disk for a file, and to locate and chain together parts of the file that may be scattered on different sectors so that the file can be used in a random or sequential manner. file attribute Any of the attributes that describe the characteristics of a file. File Manager In the Presentation Manager, a program that displays directories and files, and allows various actions on them. file specification The full identifier for a file, which includes its drive designation, path, file name, and extension. file system The combination of software and hardware that supports storing information on a storage device. file system driver (FSD) A program that manages file I\O and controls the format of information on the storage media. fillet A curve that is tangential to the end points of two adjoining lines. See also polyfillet. filtering An application process that changes the order of data in a queue. first-in-first-out (FIFO) A queuing technique in which the next item to be retrieved is the item that has been in the queue for the longest time. (A) flag (1) An indicator or parameter that shows the setting of a switch. (2) A character that signals the occurrence of some condition, such as the end of a word. (A) (3) (D of C) A characteristic of a file or directory that enables it to be used in certain ways. See also archive flag, hidden flag, and read-only flag. focus See input focus. folder A container used to organize objects. font A particular size and style of typeface that contains definitions of character sets, marker sets, and pattern sets. Font Editor A utility program provided with the IBM Developers Toolkit that enables the design and creation of new fonts. foreground program (1) The program with which the user is currently interacting. Also known as interactive program. Contrast with background program. (2) (D of C) In multiprogramming, a high-priority program. frame The part of a window that can contain several different visual elements specified by the application, but drawn and controlled by the Presentation Manager. The frame encloses the client area. frame styles Standard window layouts provided by the Presentation Manager. FSD File system driver. full-duplex Synonym for duplex. full-screen application An application that has complete control of the screen. function (1) In a programming language, a block, with or without formal parameters, whose execution is invoked by means of a call. (2) A set of related control statements that cause one or more programs to be performed. function key A key that causes a specified sequence of operations to be performed when it is pressed, for example, F1 and Alt-K. function key area The area at the bottom of a window that contains function key assignments such as F1=Help. ═══ Glossary - G ═══ GDT Global Descriptor Table. general protection fault An exception condition that occurs when a process attempts to use storage or a module that has some level of protection assigned to it, such as I/O privilege level. See also IOPL code segment. Global Descriptor Table (GDT) A table that defines code and data segments available to all tasks in an application. global dynamic-link module A dynamic-link module that can be shared by all processes in the system that refer to the module name. global file-name character Either a question mark (?) or an asterisk (*) used as a variable in a file name or file name extension when referring to a particular file or group of files. glyph A graphic symbol whose appearance conveys information. GPI Graphics programming interface. graphic primitive In computer graphics, a basic element, such as an arc or a line, that is not made up of smaller parts and that is used to create diagrams and pictures. See also graphics segment. graphics (1) A picture defined in terms of graphic primitives and graphics attributes. (2) (D of C) The making of charts and pictures. (3) Pertaining to charts, tables, and their creation. (4) See computer graphics, coordinate graphics, fixed-image graphics, interactive graphics, passive graphics, raster graphics. graphics attributes Attributes that apply to graphic primitives. Examples are color, line type, and shading-pattern definition. See also segment attributes. graphics field The clipping boundary that defines the visible part of the presentation-page contents. graphics mode One of several states of a display. The mode determines the resolution and color content of the screen. graphics model space The conceptual coordinate space in which a picture is constructed after any model transforms have been applied. Also known as model space. Graphics programming interface The formally defined programming language that is between an IBM graphics program and the user of the program. graphics segment A sequence of related graphic primitives and graphics attributes. See also graphic primitive. graying The indication that a choice on a pull-down is unavailable. group A collection of logically connected controls. For example, the buttons controlling paper size for a printer could be called a group. See also program group. ═══ Glossary - H ═══ handle (1) An identifier that represents an object, such as a device or window, to the Presentation Interface. (2) (D of C) In the Advanced DOS and OS/2 operating systems, a binary value created by the system that identifies a drive, directory, and file so that the file can be found and opened. hard error An error condition on a network that requires either that the system be reconfigured or that the source of the error be removed before the system can resume reliable operation. header (1) System-defined control information that precedes user data. (2) The portion of a message that contains control information for the message, such as one or more destination fields, name of the originating station, input sequence number, character string indicating the type of message, and priority level for the message. heading tags A document element that enables information to be displayed in windows, and that controls entries in the contents window controls placement of push buttons in a window, and defines the shape and size of windows. heap An area of free storage available for dynamic allocation by an application. Its size varies according to the storage requirements of the application. help function (1) A function that provides information about a specific field, an application panel, or information about the help facility. (2) (D of C) One or more display images that describe how to use application software or how to do a system operation. Help index In SAA Common User Access architecture, a help action that provides an index of the help information available for an application. help panel A panel with information to assist users that is displayed in response to a help request from the user. help window A Common-User-Access-defined secondary window that displays information when the user requests help. hidden file An operating system file that is not displayed by a directory listing. hide button In the OS/2 operating system, a small, square button located in the right-hand corner of the title bar of a window that, when selected, removes from the screen all the windows associated with that window. Contrast with maximize button. See also restore button. hierarchical inheritance The relationship between parent and child classes. An object that is lower in the inheritance hierarchy than another object, inherits all the characteristics and behaviors of the objects above it in the hierarchy. hierarchy A tree of segments beginning with the root segment and proceeding downward to dependent segment types. high-performance file system (HPFS) In the OS/2 operating system, an installable file system that uses high-speed buffer storage, known as a cache, to provide fast access to large disk volumes. The file system also supports the coexistence of multiple, active file systems on a single personal computer, with the capability of multiple and different storage devices. File names used with the HPFS can have as many as 254 characters. hit testing The means of identifying which window is associated with which input device event. hook A point in a system-defined function where an application can supply additional code that the system processes as though it were part of the function. hook chain A sequence of hook procedures that are "chained" together so that each event is passed, in turn, to each procedure in the chain. hot spot The part of the pointer that must touch an object before it can be selected. This is usually the tip of the pointer. Contrast with action point. HPFS high-performance file system. hypergraphic link A connection between one piece of information and another through the use of graphics. hypertext A way of presenting information online with connections between one piece of information and another, called hypertext links. See also hypertext link. hypertext link A connection between one piece of information and another. ═══ Glossary - I ═══ I/O operation An input operation to, or output operation from a device attached to a computer. I-beam pointer A pointer that indicates an area, such as an entry field in which text can be edited. icon In SAA Advanced Common User Access architecture, a graphical representation of an object, consisting of an image, image background, and a label. Icons can represent items (such as a document file) that the user wants to work on, and actions that the user wants to perform. In the Presentation Manager, icons are used for data objects, system actions, and minimized programs. icon area In the Presentation Manager, the area at the bottom of the screen that is normally used to display the icons for minimized programs. Icon Editor The Presentation Manager-provided tool for creating icons. IDL Interface Definition Language. image font A set of symbols, each of which is described in a rectangular array of pels. Some of the pels in the array are set to produce the image of one of the symbols. Contrast with outline font. implied metaclass Subclassing the metaclass of a parent class without a separate CSC for the resultant metaclass. indirect manipulation Interaction with an object through choices and controls. information device context A logical description of a data destination other than the screen (for example, a printer or plotter), but where no output will occur. Its purpose is to satisfy queries. See also device context. information panel A defined panel type characterized by a body containing only protected information. Information Presentation Facility (IPF) A facility provided by the OS/2 operating system, by which application developers can produce online documentation and context-sensitive online help panels for their applications. inheritance The derivation of new (child) classes from existing (parent) classes. The new class inherits all the data and methods of the parent class without having to redefine them. input focus (1) The area of a window where user interaction is possible using an input device, such as a mouse or the keyboard. (2) The position in the active window where a user's normal interaction with the keyboard will appear. input router An internal OS/2 process that removes messages from the system queue. input/output control A device-specific command that requests a function of a device driver. installable file system (IFS) A file system in which software is installed when the operating system is started. instance A single occurrence of an object class that has a particular behavior. instruction pointer In system/38, a pointer that provides addressability for a machine interface instruction in a program. integer atom An atom that represents a predefined system constant and carries no storage overhead. For example, names of window classes provided by Presentation Manager are expressed as integer atoms. interactive graphics Graphics that can be moved or manipulated by a user at a terminal. interactive program (1) A program that is running (active) and is ready to receive (or is receiving) input from a user. (2) A running program that can receive input from the keyboard or another input device. Compare with active program and contrast with noninteractive program. Also known as a foreground program. interchange file A file containing data that can be sent from one Presentation Manager interface application to another. Interface Definition Language (IDL) Language-neutral interface specification for a SOM class. interpreter A program that translates and executes each instruction of a high-level programming language before it translates and executes. interprocess communication (IPC) In the OS/2 operating system, the exchange of information between processes or threads through semaphores, pipes, queues, and shared memory. interval timer (1) A timer that provides program interruptions on a program-controlled basis. (2) An electronic counter that counts intervals of time under program control. IOCtl Input/output control. IOPL Input/output privilege level. IOPL code segment An IOPL executable section of programming code that enables an application to directly manipulate hardware interrupts and ports without replacing the device driver. See also privilege level. IPC Interprocess communication. IPF Information Presentation Facility. IPF compiler A text compiler that interpret tags in a source file and converts the information into the specified format. IPF tag language A markup language that provides the instructions for displaying online information. item A data object that can be passed in a DDE transaction. ═══ Glossary - J ═══ journal A special-purpose file that is used to record changes made in the system. ═══ Glossary - K ═══ Kanji A graphic character set used in Japanese ideographic alphabets. KBD$ Character-device name reserved for the keyboard. kernel The part of an operating system that performs basic functions, such as allocating hardware resources. kerning The design of graphics characters so that their character boxes overlap. Used to space text proportionally. keyboard accelerator A keystroke that generates a command message for an application. keyboard augmentation A function that enables a user to press a keyboard key while pressing a mouse button. keyboard focus A temporary attribute of a window. The window that has a keyboard focus receives all keyboard input until the focus changes to a different window. Keys help In SAA Common User Access architecture, a help action that provides a listing of the application keys and their assigned functions. ═══ Glossary - L ═══ label In a graphics segment, an identifier of one or more elements that is used when editing the segment. LAN local area network. language support procedure A function provided by the Presentation Manager Interface for applications that do not, or cannot (as in the case of COBOL and FORTRAN programs), provide their own dialog or window procedures. lazy drag See pickup and drop. lazy drag set See pickup set. LDT In the OS/2 operating system, Local Descriptor Table. LIFO stack A stack from which data is retrieved in last-in, first-out order. linear address A unique value that identifies the memory object. linked list Synonym for chained list. list box In SAA Advanced Common User Access architecture, a control that contains scrollable choices from which a user can select one choice. Note: In CUA architecture, this is a programmer term. The end user term is selection list. list button A button labeled with an underlined down-arrow that presents a list of valid objects or choices that can be selected for that field. list panel A defined panel type that displays a list of items from which users can select one or more choices and then specify one or more actions to work on those choices. load time The point in time at which a program module is loaded into main storage for execution. load-on-call A function of a linkage editor that allows selected segments of the module to be disk resident while other segments are executing. Disk resident segments are loaded for execution and given control when any entry point that they contain is called. local area network (LAN) (1) A computer network located on a user's premises within a limited geographical area. Communication within a local area network is not subject to external regulations; however, communication across the LAN boundary may be subject to some form of regulation. (T) Note: A LAN does not use store and forward techniques. (2) A network inwhich a set of devices are connected to one another for communication and that can be connected to a larger network. Local Descriptor Table (LDT) Defines code and data segments specific to a single task. lock A serialization mechanism by means of which a resource is restricted for use by the holder of the lock. logical storage device A device that the user can map to a physical (actual) device. LPT1, LPT2, LPT3 Character-device names reserved for parallel printers 1 through 3. ═══ Glossary - M ═══ main window The window that is positioned relative to the desktop window. manipulation button The button on a pointing device a user presses to directly manipulate an object. map (1) A set of values having a defined correspondence with the quantities or values of another set. (I) (A) (2) To establish a set of values having a defined correspondence with the quantities or values of another set. (I) marker box In computer graphics, the boundary that defines, in world coordinates, the horizontal and vertical space occupied by a single marker from a marker set. marker symbol A symbol centered on a point. Graphs and charts can use marker symbols to indicate the plotted points. marquee box The rectangle that appears during a selection technique in which a user selects objects by drawing a box around them with a pointing device. Master Help Index In the OS/2 operating system, an alphabetic list of help topics related to using the operating system. maximize To enlarge a window to its largest possible size. media window The part of the physical device (display, printer, or plotter) on which a picture is presented. memory block Part memory within a heap. memory device context A logical description of a data destination that is a memory bit map. See also device context. memory management A feature of the operating system for allocating, sharing, and freeing main storage. memory object Logical unit of memory requested by an application, which forms the granular unit of memory manipulation from the application viewpoint. menu In SAA Advanced Common User Access architecture, an extension of the menu bar that displays a list of choices available for a selected choice in the menu bar. After a user selects a choice in menu bar, the corresponding menu appears. Additional pop-up windows can appear from menu choices. menu bar In SAA Advanced Common User Access architecture, the area near the top of a window, below the title bar and above the rest of the window, that contains choices that provide access to other menus. menu button The button on a pointing device that a user presses to view a pop-up menu associated with an object. message (1) In the Presentation Manager, a packet of data used for communication between the Presentation Manager interface and Presentation Manager applications (2) In a user interface, information not requested by users but presented to users by the computer in response to a user action or internal process. message box (1) A dialog window predefined by the system and used as a simple interface for applications, without the necessity of creating dialog-template resources or dialog procedures. (2) (D of C) In SAA Advanced Common User Access architecture, a type of window that shows messages to users. See also dialog box, primary window, secondary window. message filter The means of selecting which messages from a specific window will be handled by the application. message queue A sequenced collection of messages to be read by the application. message stream mode A method of operation in which data is treated as a stream of messages. Contrast with byte stream. metacharacter See global file-name character. metaclass The conjunction of an object and its class information; that is, the information pertaining to the class as a whole, rather than to a single instance of the class. Each class is itself an object, which is an instance of the metaclass. metafile A file containing a series of attributes that set color, shape and size, usually of a picture or a drawing. Using a program that can interpret these attributes, a user can view the assembled image. metafile device context A logical description of a data destination that is a metafile, which is used for graphics interchange. See also device context. metalanguage A language used to specify another language. For example, data types can be described using a metalanguage so as to make the descriptions independent of any one computer language. method A function that defines a behavior for a class or object. method override The replacement, by a child class, of the implementation of a method inherited from a parent and an ancestor class. mickey A unit of measurement for physical mouse motion whose value depends on the mouse device driver currently loaded. micro presentation space A graphics presentation space in which a restricted set of the GPI function calls is available. minimize To remove from the screen all windows associated with an application and replace them with an icon that represents the application. mix An attribute that determines how the foreground of a graphic primitive is combined with the existing color of graphics output. Also known as foreground mix. Contrast with background mix. mixed character string A string containing a mixture of one-byte and Kanji or Hangeul (two-byte) characters. mnemonic (1) A method of selecting an item on a pull-down by means of typing the highlighted letter in the menu item. (2) (D of C) In SAA Advanced Common User Access architecture, usually a single character, within the text of a choice, identified by an underscore beneath the character. If all characters in a choice already serve as mnemonics for other choices, another character, placed in parentheses immediately following the choice, can be used. When a user types the mnemonic for a choice, the choice is either selected or the cursor is moved to that choice. modal dialog box In SAA Advanced Common User Access architecture, a type of movable window, fixed in size, that requires a user to enter information before continuing to work in the application window from which it was displayed. Contrast with modeless dialog box. Also known as a serial dialog box. Contrast with parallel dialog box. Note: In CUA architecture, this is a programmer term. The end user term is pop-up window. model space See graphics model space. modeless dialog box In SAA Advanced Common User Access architecture, a type of movable window, fixed in size, that allows users to continue their dialog with the application without entering information in the dialog box. Also known as a parallel dialog box. Contrast with modal dialog box. Note: In CUA architecture, this is a programmer term. The end user term is pop-up window. module definition file A file that describes the code segments within a load module. For example, it indicates whether a code segment is loadable before module execution begins (preload), or loadable only when referred to at run time (load-on-call). mouse In SAA usage, a device that a user moves on a flat surface to position a pointer on the screen. It allows a user to select a choice o function to be performed or to perform operations on the screen, such as dragging or drawing lines from one position to another. MOUSE$ Character-device name reserved for a mouse. multiple-choice selection In SAA Basic Common User Access architecture, a type of field from which a user can select one or more choices or select none. See also check box. Contrast with extended-choice selection. multiple-line entry field In SAA Advanced Common User Access architecture, a control into which a user types more than one line of information. See also single-line entry field. multitasking The concurrent processing of applications or parts of applications. A running application and its data are protected from other concurrently running applications. mutex semaphore (Mutual exclusion semaphore). A semaphore that enables threads to serialize their access to resources. Only the thread that currently owns the mutex semaphore can gain access to the resource, thus preventing one thread from interrupting operations being performed by another. muxwait semaphore (Multiple wait semaphore). A semaphore that enables a thread to wait either for multiple event semaphores to be posted or for multiple mutex semaphores to be released. Alternatively, a muxwait semaphore can be set to enable a thread to wait for any ONE of the event or mutex semaphores in the muxwait semaphore's list to be posted or released. ═══ Glossary - N ═══ named pipe A named buffer that provides client-to-server, server-to-client, or full duplex communication between unrelated processes. Contrast with unnamed pipe. national language support (NLS) The modification or conversion of a United States English product to conform to the requirements of another language or country. This can include the enabling or retrofitting of a product and the translation of nomenclature, MRI, or documentation of a product. nested list A list that is contained within another list. NLS national language support. non-8.3 file-name format A file-naming convention in which file names can consist of up to 255 characters. See also 8.3 file-name format. noncritical extended attribute An extended attribute that is not necessary for the function of an application. nondestructive read Reading that does not erase the data in the source location. (T) noninteractive program A running program that cannot receive input from the keyboard or other input device. Compare with active program, and contrast with interactive program. nonretained graphics Graphic primitives that are not remembered by the Presentation Manager interface when they have been drawn. Contrast with retained graphics. null character (NUL) (1) Character-device name reserved for a nonexistent (dummy) device. (2) (D of C) A control character that is used to accomplish media-fill or time-fill and that may be inserted into or removed from a sequence of characters without affecting the meaning of the sequence; however, the control of equipment or the format may be affected by this character. (I) (A) null-terminated string A string of (n+1) characters where the (n+1)th character is the `null' character (0x00) Also known as `zero-terminated' string and 'ASCIIZ' string. ═══ Glossary - O ═══ object A set of data and actions that can be performed on that data. Object Interface Definition Language (OIDL) Specification language used in SOM Version 1 for defining classes. Replaced by Interface Definition Language (IDL). object window A window that does not have a parent but which might have child windows. An object window cannot be presented on a device. OIDL Object Interface Definition Language. open To start working with a file, directory, or other object. ordered list Vertical arrangements of items, with each item in the list preceded by a number or letter. outline font A set of symbols, each of which is created as a series of lines and curves. Synonymous with vector font. Contrast with image font. output area An area of storage reserved for output. (A) owner window A window into which specific events that occur in another (owned) window are reported. ownership The determination of how windows communicate using messages. owning process The process that owns the resources that might be shared with other processes. ═══ Glossary - P ═══ page (1) A 4KB segment of contiguous physical memory. (2) (D of C) A defined unit of space on a storage medium. page viewport A boundary in device coordinates that defines the area of the output device in which graphics are to be displayed. The presentation-page contents are transformed automatically to the page viewport in device space. paint (1) The action of drawing or redrawing the contents of a window. (2) In computer graphics, to shade an area of a display image; for example, with crosshatching or color. panel In SAA Basic Common User Access architecture, a particular arrangement of information that is presented in a window or pop-up. If some of the information is not visible, a user can scroll through the information. panel area An area within a panel that contains related information. The three major Common User Access-defined panel areas are the action bar, the function key area, and the panel body. panel area separator In SAA Basic Common User Access architecture, a solid, dashed, or blank line that provides a visual distinction between two adjacent areas of a panel. panel body The portion of a panel not occupied by the action bar, function key area, title or scroll bars. The panel body can contain protected information, selection fields, and entry fields. The layout and content of the panel body determine the panel type. panel body area See client area. panel definition A description of the contents and characteristics of a panel. A panel definition is the application developer's mechanism for predefining the format to be presented to users in a window. panel ID In SAA Basic Common User Access architecture, a panel identifier, located in the upper-left corner of a panel. A user can choose whether to display the panel ID. panel title In SAA Basic Common User Access architecture, a particular arrangement of information that is presented in a window or pop-up. If some of the information is not visible, a user can scroll through the information. paper size The size of paper, defined in either standard U.S. or European names (for example, A, B, A4), and measured in inches or millimeters respectively. parallel dialog box See modeless dialog box. parameter list A list of values that provides a means of associating addressability of data defined in a called program with data in the calling program. It contains parameter names and the order in which they are to be associated in the calling and called program. parent process In the OS/2 operating system, a process that creates other processes. Contrast with child process. parent window In the OS/2 operating system, a window that creates a child window. The child window is drawn within the parent window. If the parent window is moved, resized, or destroyed, the child window also will be moved, resized, or destroyed. However, the child window can be moved and resized independently from the parent window, within the boundaries of the parent window. Contrast with child window. partition (1) A fixed-size division of storage. (2) On an IBM personal computer fixed disk, one of four possible storage areas of variable size; one may be accessed by DOS, and each of the others may be assigned to another operating system. Paste A choice in the Edit pull-down that a user selects to move the contents of the clipboard into a preselected location. See also Copy and Cut. path The route used to locate files; the storage location of a file. A fully qualified path lists the drive identifier, directory name, subdirectory name (if any), and file name with the associated extension. PDD Physical device driver. peeking An action taken by any thread in the process that owns the queue to examine queue elements without removing them. pel (1) The smallest area of a display screen capable of being addressed and switched between visible and invisible states. Synonym for display point, pixel, and picture element. (2) (D of C) Picture element. persistent object An object whose instance data and state are preserved between system shutdown and system startup. physical device driver (PDD) A system interface that handles hardware interrupts and supports a set of input and output functions. pick To select part of a displayed object using the pointer. pickup To add an object or set of objects to the pickup set. pickup and drop A drag operation that does not require the direct manipulation button to be pressed for the duration of the drag. pickup set The set of objects that have been picked up as part of a pickup and drop operation. picture chain See segment chain. picture element (1) Synonym for pel. (2) (D of C) In computer graphics, the smallest element of a display surface that can be independently assigned color and intensity. (T) . (3) The area of the finest detail that can be reproduced effectively on the recording medium. PID Process identification. pipe (1) A named or unnamed buffer used to pass data between processes. A process reads from or writes to a pipe as if the pipe were a standard-input or standard-output file. See also named pipe and unnamed pipe. (2) (D of C) To direct data so that the output from one process becomes the input to another process. The standard output of one command can be connected to the standard input of another with the pipe operator (|). pixel (1) Synonym for pel. (2) (D of C) Picture element. plotter An output unit that directly produces a hardcopy record of data on a removable medium, in the form of a two-dimensional graphic representation. (T) PM Presentation Manager. pointer (1) The symbol displayed on the screen that is moved by a pointing device, such as a mouse. The pointer is used to point at items that users can select. Contrast with cursor. (2) A data element that indicates the location of another data element. (T) POINTER$ Character-device name reserved for a pointer device (mouse screen support). pointing device In SAA Advanced Common User Access architecture, an instrument, such as a mouse, trackball, or joystick, used to move a pointer on the screen. pointings Pairs of x-y coordinates produced by an operator defining positions on a screen with a pointing device, such as a mouse. polyfillet A curve based on a sequence of lines. The curve is tangential to the end points of the first and last lines, and tangential also to the midpoints of all other lines. See also fillet. polygon One or more closed figures that can be drawn filled, outlined, or filled and outlined. polyline A sequence of adjoining lines. polymorphism The ability to have different implementations of the same method for two or more classes of objects. pop To retrieve an item from a last-in-first-out stack of items. Contrast with push. pop-up menu A menu that lists the actions that a user can perform on an object. The contents of the pop-up menu can vary depending on the context, or state, of the object. pop-up window (1) A window that appears on top of another window in a dialog. Each pop-up window must be completed before returning to the underlying window. (2) (D of C) In SAA Advanced Common User Access architecture, a movable window, fixed in size, in which a user provides information required by an application so that it can continue to process a user request. presentation drivers Special purpose I/O routines that handle field device-independent I/O requests from the PM and its applications. Presentation Manager (PM) The interface of the OS/2 operating system that presents, in windows a graphics-based interface to applications and files installed and running under the OS/2 operating system. presentation page The coordinate space in which a picture is assembled for display. presentation space (PS) (1) Contains the device-independent definition of a picture. (2) (D of C) The display space on a display device. primary window In SAA Common User Access architecture, the window in which the main interaction between the user and the application takes place. In a multiprogramming environment, each application starts in its own primary window. The primary window remains for the duration of the application, although the panel displayed will change as the user's dialog moves forward. See also secondary window. primitive In computer graphics, one of several simple functions for drawing on the screen, including, for example, the rectangle, line, ellipse, polygon, and so on. primitive attribute A specifiable characteristic of a graphic primitive. See graphics attributes. print job The result of sending a document or picture to be printed. Print Manager In the Presentation Manager, the part of the spooler that manages the spooling process. It also allows users to view print queues and to manipulate print jobs. privilege level A protection level imposed by the hardware architecture of the IBM personal computer. There are four privilege levels (number 0 through 3). Only certain types of programs are allowed to execute at each privilege level. See also IOPL code segment. procedure call In programming languages, a language construct for invoking execution of a procedure. process An instance of an executing application and the resources it is using. program A sequence of instructions that a computer can interpret and execute. program details Information about a program that is specified in the Program Manager window and is used when the program is started. program group In the Presentation Manager, several programs that can be acted upon as a single entity. program name The full file specification of a program. Contrast with program title. program title The name of a program as it is listed in the Program Manager window. Contrast with program name. prompt A displayed symbol or message that requests input from the user or gives operational information; for example, on the display screen of an IBM personal computer, the DOS A> prompt. The user must respond to the prompt in order to proceed. protect mode A method of program operation that limits or prevents access to certain instructions or areas of storage. Contrast with real mode. protocol A set of semantic and syntactic rules that determines the behavior of functional units in achieving communication. (I) pseudocode An artificial language used to describe computer program algorithms without using the syntax of any particular programming language. (A) pull-down (1) An action bar extension that displays a list of choices available for a selected action bar choice. After users select an action bar choice, the pull-down appears with the list of choices. Additional pop-up windows may appear from pull-down choices to further extend the actions available to users. (2) (D of C) In SAA Common User Access architecture, pertaining to a choice in an action bar pull-down. push To add an item to a last-in-first-out stack of items. Contrast with pop. push button In SAA Advanced Common User Access architecture, a rectangle with text inside. Push buttons are used in windows for actions that occur immediately when the push button is selected. putback To remove an object or set of objects from the lazy drag set. This has the effect of undoing the pickup operation for those objects putdown To drop the objects in the lazy drag set on the target object. ═══ Glossary - Q ═══ queue (1) A linked list of elements waiting to be processed in FIFO order. For example, a queue may be a list of print jobs waiting to be printed. (2) (D of C) A line or list of items waiting to be processed; for example, work to be performed or messages to be displayed. queued device context A logical description of a data destination (for example, a printer or plotter) where the output is to go through the spooler. See also device context. ═══ Glossary - R ═══ radio button (1) A control window, shaped like a round button on the screen, that can be in a checked or unchecked state. It is used to select a single item from a list. Contrast with check box. (2) In SAA Advanced Common User Access architecture, a circle with text beside it. Radio buttons are combined to show a user a fixed set of choices from which only one can be selected. The circle is partially filled when a choice is selected. RAS Reliability, availability, and serviceability. raster (1) In computer graphics, a predetermined pattern of lines that provides uniform coverage of a display space. (T) (2) The coordinate grid that divides the display area of a display device. (A) read-only file A file that can be read from but not written to. real mode A method of program operation that does not limit or prevent access to any instructions or areas of storage. The operating system loads the entire program into storage and gives the program access to all system resources. Contrast with protect mode. realize To cause the system to ensure, wherever possible, that the physical color table of a device is set to the closest possible match in the logical color table. recursive routine A routine that can call itself, or be called by another routine that was called by the recursive routine. reentrant The attribute of a program or routine that allows the same copy of the program or routine to be used concurrently by two or more tasks. reference phrase (1) A word or phrase that is emphasized in a device-dependent manner to inform the user that additional information for the word or phrase is available. (2) (D of C) In hypertext, text that is highlighted and preceded by a single-character input field used to signify the existence of a hypertext link. reference phrase help In SAA Common User Access architecture, highlighted words or phrases within help information that a user selects to get additional information. refresh To update a window, with changed information, to its current status. region A clipping boundary in device space. register A part of internal storage having a specified storage capacity and usually intended for a specific purpose. (T) remote file system A file-system driver that gains access to a remote system without a block device driver. resource The means of providing extra information used in the definition of a window. A resource can contain definitions of fonts, templates, accelerators, and mnemonics; the definitions are held in a resource file. resource file A file containing information used in the definition of a window. Definitions can be of fonts, templates, accelerators, and mnemonics. restore To return a window to its original size or position following a sizing or moving action. retained graphics Graphic primitives that are remembered by the Presentation Manager interface after they have been drawn. Contrast with nonretained graphics. return code (1) A value returned to a program to indicate the results of an operation requested by that program. (2) A code used to influence the execution of succeeding instructions.(A) reverse video (1) A form of highlighting a character, field, or cursor by reversing the color of the character, field, or cursor with its background; for example, changing a red character on a black background to a black character on a red background. (2) In SAA Basic Common User Access architecture, a screen emphasis feature that interchanges the foreground and background colors of an item. REXX Language Restructured Extended Executor. A procedural language that provides batch language functions along with structured programming constructs such as loops; conditional testing and subroutines. RGB (1) Color coding in which the brightness of the additive primary colors of light, red, green, and blue, are specified as three distinct values of white light. (2) Pertaining to a color display that accepts signals representing red, green, and blue. roman Relating to a type style with upright characters. root segment In a hierarchical database, the highest segment in the tree structure. round-robin scheduling A process that allows each thread to run for a specified amount of time. run time (1) Any instant at which the execution of a particular computer program takes place. (T) (2) The amount of time needed for the execution of a particular computer program. (T) (3) The time during which an instruction in an instruction register is decoded and performed. Synonym for execution time. ═══ Glossary - S ═══ SAA Systems Application Architecture. SBCS Single-byte character set. scheduler A computer program designed to perform functions such as scheduling, initiation, and termination of jobs. screen In SAA Basic Common User Access architecture, the physical surface of a display device upon which information is shown to a user. screen device context A logical description of a data destination that is a particular window on the screen. See also device context. SCREEN$ Character-device name reserved for the display screen. scroll bar In SAA Advanced Common User Access architecture, a part of a window, associated with a scrollable area, that a user interacts with to see information that is not currently allows visible. scrollable entry field An entry field larger than the visible field. scrollable selection field A selection field that contains more choices than are visible. scrolling Moving a display image vertically or horizontally in a manner such that new data appears at one edge, as existing data disappears at the opposite edge. secondary window A window that contains information that is dependent on information in a primary window and is used to supplement the interaction in the primary window. sector On disk or diskette storage, an addressable subdivision of a track used to record one block of a program or data. segment See graphics segment. segment attributes Attributes that apply to the segment as an entity, as opposed to the individual primitives within the segment. For example, the visibility or detectability of a segment. segment chain All segments in a graphics presentation space that are defined with the `chained' attribute. Synonym for picture chain. segment priority The order in which segments are drawn. segment store An area in a normal graphics presentation space where retained graphics segments are stored. select To mark or choose an item. Note that select means to mark or type in a choice on the screen; enter means to send all selected choices to the computer for processing. select button The button on a pointing device, such as a mouse, that is pressed to select a menu choice. Also known as button 1. selection cursor In SAA Advanced Common User Access architecture, a visual indication that a user has selected a choice. It is represented by outlining the choice with a dotted box. See also text cursor. selection field (1) In SAA Advanced Common User Access architecture, a set of related choices. See also entry field. (2) In SAA Basic Common User Access architecture, an area of a panel that cannot be scrolled and contains a fixed number of choices. semantics The relationships between symbols and their meanings. semaphore An object used by applications for signalling purposes and for controlling access to serially reusable resources. separator In SAA Advanced Common User Access architecture, a line or color boundary that provides a visual distinction between two adjacent areas. serial dialog box See modal dialog box. serialization The consecutive ordering of items. serialize To ensure that one or more events occur in a specified sequence. serially reusable resource (SRR) A logical resource or object that can be accessed by only one task at a time. session (1) A routing mechanism for user interaction via the console; a complete environment that determines how an application runs and how users interact with the application. OS/2 can manage more than one session at a time, and more than one process can run in a session. Each session has its own set of environment variables that determine where OS/2 looks for dynamic-link libraries and other important files. (2) (D of C) In the OS/2 operating system, one instance of a started program or command prompt. Each session is separate from all other sessions that might be running on the computer. The operating system is responsible for coordinating the resources that each session uses, such as computer memory, allocation of processor time, and windows on the screen. Settings Notebook A control window that is used to display the settings for an object and to enable the user to change them. shadow An object that refers to another object. A shadow is not a copy of another object, but is another representation of the object. shadow box The area on the screen that follows mouse movements and shows what shape the window will take if the mouse button is released. shared data Data that is used by two or more programs. shared memory In the OS/2 operating system, a segment that can be used by more than one program. shear In computer graphics, the forward or backward slant of a graphics symbol or string of such symbols relative to a line perpendicular to the baseline of the symbol. shell (1) A software interface between a user and the operating system of a computer. Shell programs interpret commands and user interactions on devices such as keyboards, pointing devices, and touch-sensitive screens, and communicate them to the operating system. (2) Software that allows a kernel program to run under different operating-system environments. shutdown The process of ending operation of a system or a subsystem, following a defined procedure. sibling processes Child processes that have the same parent process. sibling windows Child windows that have the same parent window. simple list A list of like values; for example, a list of user names. Contrast with mixed list. single-byte character set (SBCS) A character set in which each character is represented by a one-byte code. Contrast with double-byte character set. slider box In SAA Advanced Common User Access architecture: a part of the scroll bar that shows the position and size of the visible information in a window relative to the total amount of information available. Also known as thumb mark. SOM System Object Model. source file A file that contains source statements for items such as high-level language programs and data description specifications. source statement A statement written in a programming language. specific dynamic-link module A dynamic-link module created for the exclusive use of an application. spin button In SAA Advanced Common User Access architecture, a type of entry field that shows a scrollable ring of choices from which a user can select a choice. After the last choice is displayed, the first choice is displayed again. A user can also type a choice from the scrollable ring into the entry field without interacting with the spin button. spline A sequence of one or more BВzier curves. spooler A program that intercepts the data going to printer devices and writes it to disk. The data is printed or plotted when it is complete and the required device is available. The spooler prevents output from different sources from being intermixed. stack A list constructed and maintained so that the next data element to be retrieved is the most recently stored. This method is characterized as last-in-first-out (LIFO). standard window A collection of window elements that form a panel. The standard window can include one or more of the following window elements: sizing borders, system menu icon, title bar, maximize/minimize/restore icons, action bar and pull-downs, scroll bars, and client area. static control The means by which the application presents descriptive information (for example, headings and descriptors) to the user. The user cannot change this information. static storage (1) A read/write storage unit in which data is retained in the absence of control signals. (A) Static storage may use dynamic addressing or sensing circuits. (2) Storage other than dynamic storage. (A) style See window style. subclass A class that is a child of another class. See also Inheritance. subdirectory In an IBM personal computer, a file referred to in a root directory that contains the names of other files stored on the diskette or fixed disk. swapping (1) A process that interchanges the contents of an area of real storage with the contents of an area in auxiliary storage. (I) (A) (2) In a system with virtual storage, a paging technique that writes the active pages of a job to auxiliary storage and reads pages of another job from auxiliary storage into real storage. (3) The process of temporarily removing an active job from main storage, saving it on disk, and processing another job in the area of main storage formerly occupied by the first job. switch (1) In SAA usage, to move the cursor from one point of interest to another; for example, to move from one screen or window to another or from a place within a displayed image to another place on the same displayed image. (2) In a computer program, a conditional instruction and an indicator to be interrogated by that instruction. (3) A device or programming technique for making a selection, for example, a toggle, a conditional jump. switch list See Task List. symbolic identifier A text string that equates to an integer value in an include file, which is used to identify a programming object. symbols In Information Presentation Facility, a document element used to produce characters that cannot be entered from the keyboard. synchronous Pertaining to two or more processes that depend upon the occurrence of specific events such as common timing signals. (T) See also asynchronous. System Menu In the Presentation Manager, the pull-down in the top left corner of a window that allows it to be moved and sized with the keyboard. System Object Model (SOM) A mechanism for language-neutral, object-oriented programming in the OS/2 environment. system queue The master queue for all pointer device or keyboard events. system-defined messages Messages that control the operations of applications and provides input an other information for applications to process. Systems Application Architecture (SAA) A set of IBM software interfaces, conventions, and protocols that provide a framework for designing and developing applications that are consistent across systems. ═══ Glossary - T ═══ table tags In Information Presentation Facility, a document element that formats text in an arrangement of rows and columns. tag (1) One or more characters attached to a set of data that contain information about the set, including its identification. (I) (A) (2) In Generalized Markup Language markup, a name for a type of document or document element that is entered in the source document to identify it. target object An object to which the user is transferring information. Task List In the Presentation Manager, the list of programs that are active. The list can be used to switch to a program and to stop programs. terminate-and-stay-resident (TSR) Pertaining to an application that modifies an operating system interrupt vector to point to its own location (known as hooking an interrupt). text Characters or symbols. text cursor A symbol displayed in an entry field that indicates where typed input will appear. text window Also known as the VIO window. text-windowed application The environment in which the operating system performs advanced-video input and output operations. thread A unit of execution within a process. It uses the resources of the process. thumb mark The portion of the scroll bar that describes the range and properties of the data that is currently visible in a window. Also known as a slider box. thunk Term used to describe the process of address conversion, stack and structure realignment, etc., necessary when passing control between 16-bit and 32-bit modules. tilde A mark used to denote the character that is to be used as a mnemonic when selecting text items within a menu. time slice (1) An interval of time on the processing unit allocated for use in performing a task. After the interval has expired, processing-unit time is allocated to another task, so a task cannot monopolize processing-unit time beyond a fixed limit. (2) In systems with time sharing, a segment of time allocated to a terminal job. time-critical process A process that must be performed within a specified time after an event has occurred. timer A facility provided under the Presentation Manager, whereby Presentation Manager will dispatch a message of class WM_TIMER to a particular window at specified intervals. This capability may be used by an application to perform a specific processing task at predetermined intervals, without the necessity for the application to explicitly keep track of the passage of time. timer tick See clock tick. title bar In SAA Advanced Common User Access architecture, the area at the top of each window that contains the window title and system menu icon. When appropriate, it also contains the minimize, maximize, and restore icons. Contrast with panel title. TLB Translation lookaside buffer. transaction An exchange between a workstation and another device that accomplishes a particular action or result. transform (1) The action of modifying a picture by scaling, shearing, reflecting, rotating, or translating. (2) The object that performs or defines such a modification; also referred to as a transformation. Translation lookaside buffer (TLB) A hardware-based address caching mechanism for paging information. Tree In the Presentation Manager, the window in the File Manager that shows the organization of drives and directories. truncate (1) To terminate a computational process in accordance with some rule (A) (2) To remove the beginning or ending elements of a string. (3) To drop data that cannot be printed or displayed in the line width specified or available. (4) To shorten a field or statement to a specified length. TSR Terminate-and-stay-resident. unnamed pipe A circular buffer, created in memory, used by related processes to communicate with one another. Contrast with named pipe. unordered list In Information Presentation Facility, a vertical arrangement of items in a list, with each item in the list preceded by a special character or bullet. update region A system-provided area of dynamic storage containing one or more (not necessarily contiguous) rectangular areas of a window that are visually invalid or incorrect, and therefore are in need of repainting. user interface Hardware, software, or both that allows a user to interact with and perform operations on a system, program, or device. User Shell A component of OS/2 that uses a graphics-based, windowed interface to allow the user to manage applications and files installed and running under OS/2. utility program (1) A computer program in general support of computer processes; for example, a diagnostic program, a trace program, a sort program. (T) (2) A program designed to perform an everyday task such as copying data from one storage device to another. (A) ═══ Glossary - U ═══ There are no glossary terms for this starting letter. ═══ Glossary - V ═══ value set control A visual component that enables a user to select one choice from a group of mutually exclusive choices. vector font A set of symbols, each of which is created as a series of lines and curves. Synonymous with outline font. Contrast with image font. VGA Video graphics array. view A way of looking at an object's information. viewing pipeline The series of transformations applied to a graphic object to map the object to the device on which it is to be presented. viewing window A clipping boundary that defines the visible part of model space. VIO Video Input/Output. virtual memory (VM) Synonymous with virtual storage. virtual storage (1) The storage space that may be regarded as addressable main storage by the user of a computer system in which virtual addresses are mapped into real addresses. The size of virtual storage is limited by the addressing scheme of the computer system and by the amount of auxiliary storage available, not by the actual number of main storage locations. (I) (A) (2) Addressable space that is apparent to the user as the processor storage space, from which the instructions and the data are mapped into the processor storage locations. (3) Synonymous with virtual memory. visible region A window's presentation space, clipped to the boundary of the window and the boundaries of any overlying window. volume (1) A file-system driver that uses a block device driver for input and output operations to a local or remote device. (I) (2) A portion of data, together with its data carrier, that can be handled conveniently as a unit. ═══ Glossary - W ═══ wildcard character Synonymous with global file-name character. window (1) A portion of a display surface in which display images pertaining to a particular application can be presented. Different applications can be displayed simultaneously in different windows. (A) (2) An area of the screen with visible boundaries within which information is displayed. A window can be smaller than or the same size as the screen. Windows can appear to overlap on the screen. window class The grouping of windows whose processing needs conform to the services provided by one window procedure. window coordinates A set of coordinates by which a window position or size is defined; measured in device units, or pels. window handle Unique identifier of a window, generated by Presentation Manager when the window is created, and used by applications to direct messages to the window. window procedure Code that is activated in response to a message. The procedure controls the appearance and behavior of its associated windows. window rectangle The means by which the size and position of a window is described in relation to the desktop window. window resource A read-only data segment stored in the .EXE file of an application o the .DLL file of a dynamic link library. window style The set of properties that influence how events related to a particular window will be processed. window title In SAA Advanced Common User Access architecture, the area in the title bar that contains the name of the application and the OS/2 operating system file name, if applicable. Workplace Shell The OS/2 object-oriented, graphical user interface. workstation (1) A display screen together with attachments such as a keyboard, a local copy device, or a tablet. (2) (D of C) One or more programmable or nonprogrammable devices that allow a user to do work. world coordinates A device-independent Cartesian coordinate system used by the application program for specifying graphical input and output. (I) (A) world-coordinate space Coordinate space in which graphics are defined before transformations are applied. WYSIWYG What-You-See-Is-What-You-Get. A capability of a text editor to continually display pages exactly as they will be printed. ═══ Glossary - X ═══ There are no glossary terms for this starting letter. ═══ Glossary - Y ═══ There are no glossary terms for this starting letter. ═══ Glossary - Z ═══ z-order The order in which sibling windows are presented. The topmost sibling window obscures any portion of the siblings that it overlaps; the same effect occurs down through the order of lower sibling windows. zooming The progressive scaling of an entire display image in order to give the visual impression of movement of all or part of a display group toward or away from an observer. (I) (A) 8.3 file-name format A file-naming convention in which file names are limited to eight characters before and three characters after a single dot. Usually pronounced "eight-dot-three." See also non-8.3 file-name format. ═══ IBM Trademark ═══ Trademark of the IBM Corporation. ═══ Trademarks ═══ Trademark of AT&T, Inc. ═══ Trademarks ═══ Trademark of the Adobe Systems Inc. ═══ Trademarks ═══ Trademark of the Microsoft Corporation. ═══ Trademarks ═══ Trademark of Linotype. ═══ Trademarks ═══ Trademark of Monotype Corporation, Limited. ═══ Trademarks ═══ Trademark of Intel Coporation. ═══ Trademarks ═══ Trademark of Novell, Inc.