pifinfp.h
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 6k
Category:

Windows Kernel

Development Platform:

Visual C++

  1. /*
  2.  *  Microsoft Confidential
  3.  *  Copyright (C) Microsoft Corporation 1992,1993
  4.  *  All Rights Reserved.
  5.  *
  6.  *
  7.  *  PIFINFP.H
  8.  *  Private PIFMGR include file
  9.  *
  10.  *  History:
  11.  *  Created 22-Mar-1993 2:58pm by Jeff Parsons
  12.  */
  13. /*
  14.  *  APPS.INF [pif95] section fields
  15.  */
  16. #define APPSINF_FILENAME        0       //
  17. #define APPSINF_TITLE           1       //
  18. #define APPSINF_ICONFILE        2       // default is APPSINF_DEFAULT_ICONFILE
  19. #define APPSINF_ICONINDEX       3       //
  20. #define APPSINF_NOWORKDIR       4       //
  21. #define APPSINF_SECTIONID       5       //
  22. #define APPSINF_OTHERFILE       6       //
  23. #define APPSINF_NOPIF           7       //
  24. #define APPSINF_DEFAULT_SECTION  TEXT("default")
  25. /*
  26.  *  APPS.INF section key IDs
  27.  */
  28. #define APPSINF_KEY             0       // field number
  29. #define KEY_PARAMS              TEXT("params")
  30. #define KEY_BATCHFILE           TEXT("batchfile")
  31. #define KEY_LOWMEM              TEXT("lowmem")
  32. #define KEY_EMSMEM              TEXT("emsmem")
  33. #define KEY_XMSMEM              TEXT("xmsmem")
  34. #define KEY_DPMIMEM             TEXT("dpmimem")
  35. #define KEY_ENABLE              TEXT("enable")
  36. #define KEY_DISABLE             TEXT("disable")
  37. #define MAX_KEY_SIZE            16
  38. #define KEYID_UNKNOWN           -1
  39. #define KEYID_NONE              0
  40. #define KEYID_PARAMS            1
  41. #define KEYID_BATCHFILE         2
  42. #define KEYID_LOWMEM            3
  43. #define KEYID_EMSMEM            4
  44. #define KEYID_XMSMEM            5
  45. #define KEYID_DPMIMEM           6
  46. #define KEYID_ENABLE            7
  47. #define KEYID_DISABLE           8
  48. /*
  49.  *  APPS.INF string switches used to set PIF options
  50.  */
  51. #define APPSINF_KEYVAL          1       // field number
  52. #define APPSINF_KEYVAL2         2       // field number
  53. #define KEYVAL_WINDOWED         TEXT("win")   // (formerly DISPUSAGE)
  54. #define KEYVAL_BACKGROUND       TEXT("bgd")   // (formerly EXECFLAGS)
  55. #define KEYVAL_EXCLUSIVE        TEXT("exc")   // (formerly EXECFLAGS)
  56. #define KEYVAL_DETECTIDLE       TEXT("dit")   // (formerly PROCMEMFLAGS)
  57. #define KEYVAL_LOWLOCKED        TEXT("lml")   // (formerly PROCMEMFLAGS:lam)
  58. #define KEYVAL_EMSLOCKED        TEXT("eml")   // (formerly PROCMEMFLAGS)
  59. #define KEYVAL_XMSLOCKED        TEXT("xml")   // (formerly PROCMEMFLAGS)
  60. #define KEYVAL_USEHMA           TEXT("hma")   // (formerly PROCMEMFLAGS)
  61. #define KEYVAL_EMULATEROM       TEXT("emt")   // (formerly DISPFLAGS)
  62. #define KEYVAL_RETAINVRAM       TEXT("rvm")   // (formerly DISPFLAGS)
  63. #define KEYVAL_FASTPASTE        TEXT("afp")   // (formerly OTHEROPTIONS)
  64. #define KEYVAL_ALTTAB           TEXT("ata")   // (formerly OTHEROPTIONS)
  65. #define KEYVAL_ALTESC           TEXT("aes")   // (formerly OTHEROPTIONS)
  66. #define KEYVAL_CTRLESC          TEXT("ces")   // (formerly OTHEROPTIONS)
  67. #define KEYVAL_PRTSCRN          TEXT("psc")   // (formerly OTHEROPTIONS)
  68. #define KEYVAL_ALTPRTSCRN       TEXT("aps")   // (formerly OTHEROPTIONS)
  69. #define KEYVAL_ALTSPACE         TEXT("asp")   // (formerly OTHEROPTIONS)
  70. #define KEYVAL_ALTENTER         TEXT("aen")   // (formerly OTHEROPTIONS)
  71. #define KEYVAL_WINLIE           TEXT("lie")   // (NEW)
  72. #define KEYVAL_GLOBALMEM        TEXT("gmp")   // (NEW)
  73. #define KEYVAL_REALMODE         TEXT("dos")   // (NEW)
  74. #define KEYVAL_MOUSE            TEXT("mse")   // (NEW)
  75. #define KEYVAL_EMS              TEXT("ems")   // (NEW)
  76. #define KEYVAL_CDROM            TEXT("cdr")   // (NEW)
  77. #define KEYVAL_NETWORK          TEXT("net")   // (NEW)
  78. #define KEYVAL_DISKLOCK         TEXT("dsk")   // (NEW)
  79. #define KEYVAL_PRIVATECFG       TEXT("cfg")   // (NEW)
  80. #define KEYVAL_CLOSEONEXIT      TEXT("cwe")   // (NEW)
  81. #define KEYVAL_ALLOWSSAVER      TEXT("sav")     // (NEW)
  82. #define KEYVAL_UNIQUESETTINGS   TEXT("uus")     // (NEW)
  83. #ifdef LATER
  84. #define KEYVAL_DISPLAYTBAR      TEXT("dtb")   // (NEW)
  85. #define KEYVAL_RESTOREWIN       TEXT("rws")   // (NEW)
  86. #define KEYVAL_QUICKEDIT        TEXT("qme")   // (NEW)
  87. #define KEYVAL_EXCLMOUSE        TEXT("exm")   // (NEW)
  88. #define KEYVAL_WARNIFACTIVE     TEXT("wia")   // (NEW)
  89. #endif
  90. #define MAX_KEYVAL_SIZE         6
  91. #define KEYVAL_ID_UNKNOWN       -1
  92. #define KEYVAL_ID_NONE          0
  93. #define KEYVAL_ID_WINDOWED      1
  94. #define KEYVAL_ID_BACKGROUND    2
  95. #define KEYVAL_ID_EXCLUSIVE     3
  96. #define KEYVAL_ID_DETECTIDLE    4
  97. #define KEYVAL_ID_LOWLOCKED     5
  98. #define KEYVAL_ID_EMSLOCKED     6
  99. #define KEYVAL_ID_XMSLOCKED     7
  100. #define KEYVAL_ID_USEHMA        8
  101. #define KEYVAL_ID_EMULATEROM    9
  102. #define KEYVAL_ID_RETAINVRAM    10
  103. #define KEYVAL_ID_FASTPASTE     11
  104. #define KEYVAL_ID_ALTTAB        12
  105. #define KEYVAL_ID_ALTESC        13
  106. #define KEYVAL_ID_CTRLESC       14
  107. #define KEYVAL_ID_PRTSCRN       15
  108. #define KEYVAL_ID_ALTPRTSCRN    16
  109. #define KEYVAL_ID_ALTSPACE      17
  110. #define KEYVAL_ID_ALTENTER      18
  111. #define KEYVAL_ID_WINLIE        19
  112. #define KEYVAL_ID_GLOBALMEM     20
  113. #define KEYVAL_ID_REALMODE      21
  114. #define KEYVAL_ID_MOUSE         22
  115. #define KEYVAL_ID_EMS           23
  116. #define KEYVAL_ID_CDROM         24
  117. #define KEYVAL_ID_NETWORK       25
  118. #define KEYVAL_ID_DISKLOCK      26
  119. #define KEYVAL_ID_PRIVATECFG    27
  120. #define KEYVAL_ID_CLOSEONEXIT   28
  121. #define KEYVAL_ID_ALLOWSSAVER   29
  122. #define KEYVAL_ID_UNIQUESETTINGS 30
  123. #ifdef LATER
  124. #define KEYVAL_ID_DISPLAYTBAR   31
  125. #define KEYVAL_ID_RESTOREWIN    32
  126. #define KEYVAL_ID_QUICKEDIT     33
  127. #define KEYVAL_ID_EXCLMOUSE     34
  128. #define KEYVAL_ID_WARNIFACTIVE  35
  129. #endif
  130. /*
  131.  *  Internal function prototypes
  132.  */
  133. #include <setupapi.h>
  134. #ifdef UNICODE
  135. BOOL GetAppsInfData(PPROPLINK ppl, LPPROPPRG lpPrg, LPPROPNT40 lpnt40, HINF hInf, LPCTSTR lpszApp, BOOL fNotAmbiguous, int flOpt);
  136. #else
  137. BOOL GetAppsInfData(PPROPLINK ppl, LPPROPPRG lpPrg, HINF hInf, LPCTSTR lpszApp, BOOL fNotAmbiguous, int flOpt);
  138. #endif
  139. void GetAppsInfSectionData(PINFCONTEXT pInfContext, LPCTSTR lpszSection, PPROPLINK ppl);
  140. int  GetKeyID(PINFCONTEXT pInfContext);
  141. int  GetKeyValID(PINFCONTEXT pInfContext, int i);
  142. #ifdef UNICODE
  143. void InitWorkDir(PPROPLINK ppl, LPPROPPRG lpPrg, LPPROPNT40 lpnt40);
  144. #else
  145. void InitWorkDir(PPROPLINK ppl, LPPROPPRG lpPrg);
  146. #endif