Annotation of os232sdk/toolkt20/c/os2h/pmshl.h, revision 1.1

1.1     ! root        1: /******************************************************************************\
        !             2: *
        !             3: *   Copyright (c) IBM Corporation 1987, 1989
        !             4: *   Copyright (c) MicroSoft Corporation 1987,1989
        !             5: *
        !             6: * Module Name: PMSHL.H
        !             7: *
        !             8: * OS/2 Presentation Manager Shell constants, types, messages and
        !             9: * function declarations
        !            10: *
        !            11: *
        !            12: * =============================================================================
        !            13: *
        !            14: * The following symbols are used in this file for conditional sections.
        !            15: *
        !            16: *   INCL_WINSHELLDATA    Include Presentation Manager profile calls
        !            17: *   INCL_SHLERRORS       defined if INCL_ERRORS is defined
        !            18: *   INCL_WINSWITCHLIST   Include Switch List Calls
        !            19: *   INCL_WINPROGRAMLIST  Include Program List Calls
        !            20: *
        !            21: \******************************************************************************/
        !            22: 
        !            23: #if !(defined(INCL_32) || defined(INCL_16))
        !            24: #ifdef M_I386
        !            25:     #define INCL_32
        !            26: #else /* not M_I386 */
        !            27:     #define INCL_16
        !            28: #endif /* M_I386 */
        !            29: #endif /* INCL_32 || INCL_16 */
        !            30: 
        !            31: /* note the ifdef SESMGR is for the Boca build. It should really be */
        !            32: /* taken out in the final h file clear up. Paul.                    */
        !            33: 
        !            34: #ifndef SESMGR
        !            35: 
        !            36: /* common types, constants and function declarations             */
        !            37: 
        !            38: /* maximum title length */
        !            39: #define MAXNAMEL 60
        !            40: 
        !            41: /* window size structure */
        !            42: typedef struct _XYWINSIZE {     /* xywin */
        !            43:     SHORT x;
        !            44:     SHORT y;
        !            45:     SHORT cx;
        !            46:     SHORT cy;
        !            47:     USHORT fsWindow;
        !            48: } XYWINSIZE;
        !            49: typedef XYWINSIZE FAR *PXYWINSIZE;
        !            50: 
        !            51: /* Definitions for fsWindow */
        !            52: #define XYF_NOAUTOCLOSE  0x0008
        !            53: #define XYF_MINIMIZED    0x0004
        !            54: #define XYF_MAXIMIZED    0x0002
        !            55: #define XYF_INVISIBLE    0x0001
        !            56: #define XYF_NORMAL       0X0000
        !            57: 
        !            58: /* program handle */
        !            59: typedef LHANDLE HPROGRAM;       /* hprog */
        !            60: typedef HPROGRAM FAR * PHPROGRAM;
        !            61: 
        !            62: /* ini file handle */
        !            63: typedef LHANDLE HINI;           /* hini */
        !            64: typedef HINI FAR * PHINI;
        !            65: 
        !            66: 
        !            67: #define HINI_PROFILE         (HINI) NULL
        !            68: #define HINI_USERPROFILE     (HINI) -1L
        !            69: #define HINI_SYSTEMPROFILE   (HINI) -2L
        !            70: 
        !            71: #define HINI_USER    HINI_USERPROFILE
        !            72: #define HINI_SYSTEM  HINI_SYSTEMPROFILE
        !            73: 
        !            74: 
        !            75: typedef struct _PRFPROFILE { /* prfpro */
        !            76:     ULONG  cchUserName;
        !            77:     PSZ    pszUserName;
        !            78:     ULONG  cchSysName;
        !            79:     PSZ    pszSysName;
        !            80: } PRFPROFILE;
        !            81: 
        !            82: typedef PRFPROFILE FAR *PPRFPROFILE;
        !            83: 
        !            84: #endif  /* end #ifndef SESMGR */
        !            85: 
        !            86: #ifdef INCL_WINPROGRAMLIST
        !            87: 
        !            88: #ifndef SESMGR
        !            89: 
        !            90: /* maximum path length */
        !            91: #define MAXPATHL 128
        !            92: 
        !            93: /* root group handle */
        !            94: #define SGH_ROOT      (HPROGRAM)   -1L
        !            95: 
        !            96: typedef struct _HPROGARRAY {    /* hpga */
        !            97:     HPROGRAM ahprog[1];
        !            98: } HPROGARRAY;
        !            99: typedef HPROGARRAY FAR *PHPROGARRAY;
        !           100: 
        !           101: #endif  /* end of #ifndef SESMGR */
        !           102: 
        !           103: typedef char PROGCATEGORY;      /* progc */
        !           104: typedef PROGCATEGORY FAR *PPROGCATEGORY;
        !           105: 
        !           106: /* values acceptable for PROGCATEGORY for PM groups */
        !           107: #define PROG_DEFAULT             (PROGCATEGORY)0
        !           108: #define PROG_FULLSCREEN          (PROGCATEGORY)1
        !           109: #define PROG_WINDOWABLEVIO       (PROGCATEGORY)2
        !           110: #define PROG_PM                  (PROGCATEGORY)3
        !           111: #define PROG_GROUP               (PROGCATEGORY)5
        !           112: #define PROG_REAL                (PROGCATEGORY)4
        !           113: #define PROG_VDM                 (PROGCATEGORY)4
        !           114: #define PROG_WINDOWEDVDM         (PROGCATEGORY)7
        !           115: #define PROG_DLL                 (PROGCATEGORY)6
        !           116: #define PROG_PDD                 (PROGCATEGORY)8
        !           117: #define PROG_VDD                 (PROGCATEGORY)9
        !           118: #define PROG_RESERVED          (PROGCATEGORY)255
        !           119: 
        !           120: #ifndef SESMGR
        !           121: 
        !           122: /* visibility flag for PROGTYPE structure */
        !           123: #define SHE_VISIBLE   (BYTE)0x00
        !           124: #define SHE_INVISIBLE (BYTE)0x01
        !           125: #define SHE_RESERVED  (BYTE)0xFF
        !           126: 
        !           127: /* Protected group flag for PROGTYPE structure */
        !           128: #define SHE_UNPROTECTED (BYTE)0x00
        !           129: #define SHE_PROTECTED   (BYTE)0x02
        !           130: 
        !           131: typedef struct _PROGTYPE {      /* progt */
        !           132:     PROGCATEGORY progc;
        !           133:     UCHAR        fbVisible;
        !           134: } PROGTYPE;
        !           135: typedef PROGTYPE FAR *PPROGTYPE;
        !           136: 
        !           137: typedef struct _PROGRAMENTRY {  /* proge */
        !           138:     HPROGRAM hprog;
        !           139:     PROGTYPE progt;
        !           140:     CHAR     szTitle[MAXNAMEL+1];
        !           141: } PROGRAMENTRY;
        !           142: typedef PROGRAMENTRY FAR *PPROGRAMENTRY;
        !           143: 
        !           144: typedef struct _PIBSTRUCT {     /* pib */
        !           145:     PROGTYPE  progt;
        !           146:     CHAR      szTitle[MAXNAMEL+1];
        !           147:     CHAR      szIconFileName[MAXPATHL+1];
        !           148:     CHAR      szExecutable[MAXPATHL+1];
        !           149:     CHAR      szStartupDir[MAXPATHL+1];
        !           150:     XYWINSIZE xywinInitial;
        !           151:     USHORT    res1;
        !           152:     LHANDLE   res2;
        !           153:     USHORT    cchEnvironmentVars;
        !           154:     PCH       pchEnvironmentVars;
        !           155:     USHORT    cchProgramParameter;
        !           156:     PCH       pchProgramParameter;
        !           157: } PIBSTRUCT;
        !           158: typedef  PIBSTRUCT FAR *PPIBSTRUCT;
        !           159: 
        !           160: /******************************************************************************/
        !           161: /*                                                                            */
        !           162: /*  Structures associated with 'Prf' calls                                    */
        !           163: /*                                                                            */
        !           164: /******************************************************************************/
        !           165: 
        !           166: typedef struct _PROGDETAILS { /* progde */
        !           167:     ULONG     Length;                /* set this to sizeof(PROGDETAILS)  */
        !           168:     PROGTYPE  progt;
        !           169:     USHORT    pad1[3];               /* ready for 32-bit PROGTYPE        */
        !           170:     PSZ       pszTitle;              /* any of the pointers can be NULL  */
        !           171:     PSZ       pszExecutable;
        !           172:     PSZ       pszParameters;
        !           173:     PSZ       pszStartupDir;
        !           174:     PSZ       pszIcon;
        !           175:     PSZ       pszEnvironment;        /* this is terminated by  /0/0     */
        !           176:     SWP       swpInitial;            /* this replaces XYWINSIZE         */
        !           177:     USHORT    pad2[5];               /* ready for 32-bit SWP            */
        !           178: } PROGDETAILS;
        !           179: 
        !           180: typedef  PROGDETAILS FAR *PPROGDETAILS;
        !           181: 
        !           182: typedef struct _PROGTITLE {          /* progti */
        !           183:     HPROGRAM hprog;
        !           184:     PROGTYPE progt;
        !           185:     USHORT   pad1[3];                /* padding ready for 32-bit PROGTYPE */
        !           186:     PSZ      pszTitle;
        !           187: } PROGTITLE;
        !           188: 
        !           189: typedef PROGTITLE FAR *PPROGTITLE;
        !           190: 
        !           191: typedef struct _QFEOUTBLK {   /* qfeout */
        !           192:     USHORT    Total;
        !           193:     USHORT    Count;
        !           194:     HPROGRAM  ProgramArr[1];
        !           195: } QFEOUTBLK;
        !           196: typedef  QFEOUTBLK FAR *PQFEOUTBLK;
        !           197: 
        !           198: /* Program List API Function Definitions */
        !           199: 
        !           200: /***  Program Use */
        !           201: 
        !           202: /* XLATOFF */
        !           203: #ifdef INCL_16
        !           204:     #define WinQueryProgramTitles Win16QueryProgramTitles
        !           205:     #define WinAddProgram Win16AddProgram
        !           206:     #define WinQueryDefinition Win16QueryDefinition
        !           207:     #define WinCreateGroup Win16CreateGroup
        !           208:     #define PrfQueryProgramTitles Prf16QueryProgramTitles
        !           209:     #define PrfAddProgram Prf16AddProgram
        !           210:     #define PrfChangeProgram Prf16ChangeProgram
        !           211:     #define PrfQueryDefinition Prf16QueryDefinition
        !           212:     #define PrfRemoveProgram Prf16RemoveProgram
        !           213:     #define PrfQueryProgramHandle Prf16QueryProgramHandle
        !           214:     #define PrfCreateGroup Prf16CreateGroup
        !           215:     #define PrfDestroyGroup Prf16DestroyGroup
        !           216:     #define PrfQueryProgramCategory Prf16QueryProgramCategory
        !           217: #endif /* INCL_16 */
        !           218: /* XLATON */
        !           219: 
        !           220: #ifndef INCL_32
        !           221: 
        !           222: BOOL    APIENTRY WinQueryProgramTitles(HAB hab, HPROGRAM hprogGroup
        !           223:                                       , PPROGRAMENTRY aprogeBuffer
        !           224:                                       , USHORT usBufferLen, PUSHORT pusTotal);
        !           225: 
        !           226: /***  Single Program Manipulation */
        !           227: HPROGRAM  APIENTRY WinAddProgram(HAB hab, PPIBSTRUCT ppibProgramInfo
        !           228:                                 , HPROGRAM hprogGroupHandle);
        !           229: 
        !           230: USHORT  APIENTRY WinQueryDefinition(HAB hab, HPROGRAM hprogProgHandle
        !           231:                                    , PPIBSTRUCT ppibProgramInfo
        !           232:                                    , USHORT usMaxLength);
        !           233: 
        !           234: /***  Group Manipulation */
        !           235: HPROGRAM  APIENTRY WinCreateGroup(HAB hab, PSZ pszTitle , UCHAR ucVisibility
        !           236:                                  , ULONG flres1, ULONG flres2);
        !           237: 
        !           238: /******************************************************************************/
        !           239: /*                                                                            */
        !           240: /*  Program List API available 'Prf' calls                                    */
        !           241: /*                                                                            */
        !           242: /******************************************************************************/
        !           243: 
        !           244: ULONG APIENTRY PrfQueryProgramTitles(HINI hini, HPROGRAM hprogGroup
        !           245:                  , PPROGTITLE pTitles, ULONG cchBufferMax, PULONG pulCount);
        !           246: 
        !           247: /*****************************************************************************/
        !           248: /*                                                                           */
        !           249: /*  NOTE: string information is concatanated after the array of PROGTITLE    */
        !           250: /*        structures so you need to allocate storage greater than            */
        !           251: /*        sizeof(PROGTITLE)*cPrograms to query programs in a group           */
        !           252: /*                                                                           */
        !           253: /*  PrfQueryProgramTitles recommended usage to obtain titles of all progams  */
        !           254: /*  in a group (Hgroup=SGH_ROOT is for all groups):                          */
        !           255: /*                                                                           */
        !           256: /*  BufLen = PrfQueryProgramTitles( Hini, Hgroup                             */
        !           257: /*                                          , (PPROGTITLE)NULL, 0, &Count);  */
        !           258: /*                                                                           */
        !           259: /*  Alocate buffer of  Buflen                                                */
        !           260: /*                                                                           */
        !           261: /*  Len = PrfQueryProgramTitles( Hini, Hgroup, (PPROGTITLE)pBuffer, BufLen   */
        !           262: /*                                                                , pCount); */
        !           263: /*                                                                           */
        !           264: /*****************************************************************************/
        !           265: 
        !           266: HPROGRAM APIENTRY PrfAddProgram
        !           267:                       (HINI hini, PPROGDETAILS pDetails, HPROGRAM hprogGroup);
        !           268: BOOL     APIENTRY PrfChangeProgram
        !           269:                            (HINI hini, HPROGRAM hprog, PPROGDETAILS pDetails);
        !           270: 
        !           271: /***************************************************************************/
        !           272: /*  when adding/changing programs the PROGDETAILS Length field should be   */
        !           273: /*  set to sizeof(PROGDETAILS)                                             */
        !           274: /***************************************************************************/
        !           275: 
        !           276: ULONG    APIENTRY PrfQueryDefinition
        !           277:         (HINI hini, HPROGRAM hprog, PPROGDETAILS pDetails, ULONG cchBufferMax);
        !           278: 
        !           279: /*****************************************************************************/
        !           280: /*                                                                           */
        !           281: /*  NOTE: string information is concatanated after the PROGDETAILS field     */
        !           282: /*        structure so you need to allocate storage greater than             */
        !           283: /*        sizeof(PROGDETAILS) to query programs                              */
        !           284: /*                                                                           */
        !           285: /*  PrfQueryDefinition recomended usage:                                     */
        !           286: /*                                                                           */
        !           287: /*  bufferlen = PrfQueryDefinition( Hini, Hprog, (PPROGDETAILS)NULL, 0)      */
        !           288: /*                                                                           */
        !           289: /*  Alocate buffer of bufferlen bytes                                        */
        !           290: /*  set Length field (0 will be supported)                                   */
        !           291: /*                                                                           */
        !           292: /*  (PPROGDETAILS)pBuffer->Length=sizeof(PPROGDETAILS)                       */
        !           293: /*                                                                           */
        !           294: /*  len = PrfQueryDefinition(Hini, Hprog, (PPROGDETAILS)pBuffer, bufferlen)  */
        !           295: /*                                                                           */
        !           296: /*****************************************************************************/
        !           297: 
        !           298: BOOL     APIENTRY PrfRemoveProgram(HINI hini,HPROGRAM hprog);
        !           299: ULONG    APIENTRY PrfQueryProgramHandle (HINI hini,PSZ pszExe
        !           300:                ,PHPROGARRAY phprogArray, ULONG cchBufferMax,PULONG pulCount);
        !           301: HPROGRAM APIENTRY PrfCreateGroup (HINI hini, PSZ pszTitle, UCHAR chVisibility);
        !           302: BOOL     APIENTRY PrfDestroyGroup(HINI hini,HPROGRAM hprogGroup);
        !           303: PROGCATEGORY  APIENTRY PrfQueryProgramCategory(HINI hini, PSZ pszExe);
        !           304: 
        !           305: #endif  /* ifndef INCL_32 */
        !           306: 
        !           307: #endif /* of #ifndef SESMGR */
        !           308: 
        !           309: #endif /* INCL_WINPROGRAMLIST */
        !           310: 
        !           311: #ifndef SESMGR
        !           312: 
        !           313: #if (defined(INCL_WINSWITCHLIST) || !defined(INCL_NOCOMMON))
        !           314: 
        !           315: typedef LHANDLE HSWITCH;        /* hsw */
        !           316: typedef HSWITCH FAR *PHSWITCH;
        !           317: 
        !           318: /* visibility flag for SWCNTRL structure */
        !           319: #define SWL_VISIBLE   (BYTE)0x04
        !           320: #define SWL_INVISIBLE (BYTE)0x01
        !           321: #define SWL_GRAYED    (BYTE)0x02
        !           322: 
        !           323: /* visibility flag for SWCNTRL structure */
        !           324: #define SWL_JUMPABLE    (BYTE)0x02
        !           325: #define SWL_NOTJUMPABLE (BYTE)0x01
        !           326: 
        !           327: typedef struct _SWCNTRL {       /* swctl */
        !           328:     HWND     hwnd;
        !           329:     HWND     hwndIcon;
        !           330:     HPROGRAM hprog;
        !           331:     PID      idProcess;
        !           332:     USHORT   idSession;
        !           333:     UCHAR    uchVisibility;
        !           334:     UCHAR    fbJump;
        !           335:     CHAR     szSwtitle[MAXNAMEL+1];
        !           336:     BYTE     bProgType;
        !           337: } SWCNTRL;
        !           338: typedef SWCNTRL FAR *PSWCNTRL;
        !           339: 
        !           340: /* XLATOFF */
        !           341: #ifdef INCL_16
        !           342:     #define WinAddSwitchEntry Win16AddSwitchEntry
        !           343:     #define WinRemoveSwitchEntry Win16RemoveSwitchEntry
        !           344: #endif /* INCL_16 */
        !           345: /* XLATON */
        !           346: 
        !           347: /*** Switching Program functions */
        !           348: HSWITCH APIENTRY WinAddSwitchEntry( PSWCNTRL );
        !           349: USHORT  APIENTRY WinRemoveSwitchEntry( HSWITCH );
        !           350: 
        !           351: #endif  /* not INCL_NOCOMMON */
        !           352: 
        !           353: #ifdef INCL_WINSWITCHLIST
        !           354: 
        !           355: typedef struct _SWENTRY {       /* swent */
        !           356:     HSWITCH hswitch;
        !           357:     SWCNTRL swctl;
        !           358: } SWENTRY;
        !           359: typedef SWENTRY FAR *PSWENTRY;
        !           360: 
        !           361: typedef struct _SWBLOCK {       /* swblk */
        !           362:     USHORT   cswentry;
        !           363:     SWENTRY aswentry[1];
        !           364: } SWBLOCK;
        !           365: typedef SWBLOCK FAR *PSWBLOCK;
        !           366: 
        !           367: /* XLATOFF */
        !           368: #ifdef INCL_16
        !           369:     #define WinChangeSwitchEntry Win16ChangeSwitchEntry
        !           370:     #define WinCreateSwitchEntry Win16CreateSwitchEntry
        !           371:     #define WinQuerySessionTitle Win16QuerySessionTitle
        !           372:     #define WinQuerySwitchEntry Win16QuerySwitchEntry
        !           373:     #define WinQuerySwitchHandle Win16QuerySwitchHandle
        !           374:     #define WinQuerySwitchList Win16QuerySwitchList
        !           375:     #define WinQueryTaskSizePos Win16QueryTaskSizePos
        !           376:     #define WinQueryTaskTitle Win16QueryTaskTitle
        !           377:     #define WinSwitchToProgram Win16SwitchToProgram
        !           378: #endif /* INCL_16 */
        !           379: /* XLATON */
        !           380: 
        !           381: USHORT   APIENTRY WinChangeSwitchEntry( HSWITCH hswitchSwitch
        !           382:                                       , PSWCNTRL pswctlSwitchData);
        !           383: HSWITCH  APIENTRY WinCreateSwitchEntry( HAB, PSWCNTRL );
        !           384: USHORT   APIENTRY WinQuerySessionTitle( HAB hab, USHORT usSession
        !           385:                                       , PSZ pszTitle, USHORT usTitlelen);
        !           386: USHORT   APIENTRY WinQuerySwitchEntry( HSWITCH hswitchSwitch
        !           387:                                      , PSWCNTRL pswctlSwitchData);
        !           388: HSWITCH  APIENTRY WinQuerySwitchHandle( HWND hwnd, PID pidProcess);
        !           389: USHORT   APIENTRY WinQuerySwitchList( HAB hab, PSWBLOCK pswblkSwitchEntries
        !           390:                                     , USHORT usDataLength);
        !           391: USHORT   APIENTRY WinQueryTaskSizePos( HAB hab, USHORT usScreenGroup
        !           392:                                      , PSWP pswpPositionData);
        !           393: USHORT   APIENTRY WinQueryTaskTitle( USHORT usSession, PSZ pszTitle
        !           394:                                    , USHORT usTitlelen);
        !           395: USHORT   APIENTRY WinSwitchToProgram( HSWITCH hswitchSwHandle);
        !           396: 
        !           397: #endif
        !           398: 
        !           399: /* if error definitions are required then allow Shell errors */
        !           400: #ifdef INCL_ERRORS
        !           401:     #define INCL_SHLERRORS
        !           402: #endif /* INCL_ERRORS */
        !           403: 
        !           404: #ifdef INCL_WINSHELLDATA
        !           405: 
        !           406: /* XLATOFF */
        !           407: #ifdef INCL_16
        !           408:     #define WinQueryProfileInt Win16QueryProfileInt
        !           409:     #define WinQueryProfileString Win16QueryProfileString
        !           410:     #define WinWriteProfileString Win16WriteProfileString
        !           411:     #define WinQueryProfileSize Win16QueryProfileSize
        !           412:     #define WinQueryProfileData Win16QueryProfileData
        !           413:     #define WinWriteProfileData Win16WriteProfileData
        !           414:     #define PrfQueryProfileInt Prf16QueryProfileInt
        !           415:     #define PrfQueryProfileString Prf16QueryProfileString
        !           416:     #define PrfWriteProfileString Prf16WriteProfileString
        !           417:     #define PrfQueryProfileSize Prf16QueryProfileSize
        !           418:     #define PrfQueryProfileData Prf16QueryProfileData
        !           419:     #define PrfWriteProfileData Prf16WriteProfileData
        !           420:     #define PrfOpenProfile Prf16OpenProfile
        !           421:     #define PrfCloseProfile Prf16CloseProfile
        !           422:     #define PrfReset Prf16Reset
        !           423:     #define PrfQueryProfile Prf16QueryProfile
        !           424: #endif /* INCL_16 */
        !           425: /* XLATON */
        !           426: 
        !           427: #ifndef INCL_32
        !           428: 
        !           429: /*** OS2.INI Access functions */
        !           430: SHORT   APIENTRY WinQueryProfileInt( HAB hab, PSZ pszAppName
        !           431:                                    , PSZ pszKeyName, SHORT sDefault);
        !           432: USHORT  APIENTRY WinQueryProfileString( HAB hab, PSZ pszAppName, PSZ pszKeyName
        !           433:                                       , PSZ pszDefault, PVOID pProfileString
        !           434:                                       , USHORT usMaxPstring);
        !           435: BOOL    APIENTRY WinWriteProfileString( HAB hab, PSZ pszAppName, PSZ pszKeyName
        !           436:                                       , PSZ pszValue);
        !           437: USHORT  APIENTRY WinQueryProfileSize( HAB hab, PSZ pszAppName, PSZ pszKeyName
        !           438:                                     , PUSHORT pusValue);
        !           439: BOOL    APIENTRY WinQueryProfileData( HAB hab, PSZ pszAppName, PSZ pszKeyName
        !           440:                                     , PVOID pValue, PUSHORT pusSize);
        !           441: BOOL    APIENTRY WinWriteProfileData( HAB hab, PSZ pszAppName, PSZ pszKeyName
        !           442:                                     , PVOID pValue, USHORT usSize);
        !           443: 
        !           444: #endif  /* ifndef INCL_32 */
        !           445: 
        !           446: /******************************************************************************/
        !           447: /*                                                                            */
        !           448: /*  INI file access API available calls 'Prf'                                 */
        !           449: /*                                                                            */
        !           450: /******************************************************************************/
        !           451: 
        !           452: SHORT  APIENTRY PrfQueryProfileInt(HINI hini,PSZ pszApp,PSZ pszKey
        !           453:                                                ,SHORT sDefault);
        !           454: ULONG  APIENTRY PrfQueryProfileString(HINI hini,PSZ pszApp, PSZ pszKey
        !           455:                             ,PSZ pszDefault, PVOID pBuffer, ULONG cchBufferMax);
        !           456: BOOL   APIENTRY PrfWriteProfileString
        !           457:                                (HINI hini,PSZ pszApp, PSZ pszKey , PSZ pszData);
        !           458: BOOL   APIENTRY PrfQueryProfileSize
        !           459:                            (HINI hini,PSZ pszApp, PSZ pszKey ,PULONG pulReqLen);
        !           460: BOOL   APIENTRY PrfQueryProfileData
        !           461:           (HINI hini, PSZ pszApp, PSZ pszKey, PVOID pBuffer, PULONG pulBuffLen);
        !           462: 
        !           463: BOOL   APIENTRY PrfWriteProfileData
        !           464:                (HINI hini, PSZ pszApp,PSZ pszKey,PVOID pData, ULONG cchDataLen);
        !           465: 
        !           466: HINI   APIENTRY PrfOpenProfile(HAB hab, PSZ pszFileName);
        !           467: BOOL   APIENTRY PrfCloseProfile(HINI hini);
        !           468: BOOL   APIENTRY PrfReset(HAB hab, PPRFPROFILE pPrfProfile);
        !           469: BOOL   APIENTRY PrfQueryProfile(HAB hab, PPRFPROFILE pPrfProfile);
        !           470: 
        !           471: /* new public message, broadcast on WinReset */
        !           472: #define PL_ALTERED 0x008E  /* WM_SHELLFIRST + 0E */
        !           473: 
        !           474: 
        !           475: #endif /* INCL_WINSHELLDATA */
        !           476: 
        !           477: #ifdef INCL_SHLERRORS
        !           478: 
        !           479: #include <pmerr.h>
        !           480: 
        !           481: #endif /* INCL_SHLERRORS */
        !           482: 
        !           483: typedef LHANDLE HAPP;
        !           484: 
        !           485: /* XLATOFF */
        !           486: #ifdef INCL_16
        !           487:     #define WinInstStartApp Win16InstStartApp
        !           488:     #define WinTerminateApp Win16TerminateApp
        !           489: #endif /* INCL_16 */
        !           490: /* XLATON */
        !           491: 
        !           492: #ifndef INCL_32
        !           493: 
        !           494: HAPP APIENTRY WinInstStartApp( HINI hini, HWND hwndNotifyWindow,
        !           495:                 USHORT cCount, PSZ FAR * aszApplication,
        !           496:                 PSZ pszCmdLine, PVOID pData, USHORT fsOptions );
        !           497: 
        !           498: BOOL APIENTRY WinTerminateApp( HAPP happ );
        !           499: 
        !           500: #endif  /* ifndef INCL_32 */
        !           501: 
        !           502: /* bit values for Options parameter of WinInstStartAppl */
        !           503: #define SAF_INSTALLEDCMDLINE  0x0001 /* use installed parameters */
        !           504: #define SAF_STARTCHILDAPP  0x0002 /* related application      */
        !           505: 
        !           506: #endif /* of #ifndef SESMGR */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.