Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
6.0 KiB

  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