Source code of Windows XP (NT5)
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.

235 lines
6.6 KiB

  1. #define SCHEMA_VERSION_NUMBER 1740
  2. #define STRINGGUIDLEN 37
  3. #define STRINGGUIDRDNLEN 37+3
  4. typedef WCHAR STRINGGUID [STRINGGUIDLEN];
  5. typedef WCHAR STRINGGUIDRDN [STRINGGUIDRDNLEN];
  6. typedef FILETIME CSUSN;
  7. HRESULT
  8. PackString2Variant(
  9. LPWSTR lpszData,
  10. VARIANT * pvData
  11. );
  12. HRESULT
  13. PackDWORD2Variant(
  14. DWORD dwData,
  15. VARIANT * pvData
  16. );
  17. HRESULT PackDWORDArray2Variant(
  18. DWORD * pdwData,
  19. ULONG cdword,
  20. VARIANT * pvData
  21. );
  22. HRESULT
  23. PackBOOL2Variant(
  24. BOOL fData,
  25. VARIANT * pvData
  26. );
  27. HRESULT
  28. PackGuid2Variant(
  29. GUID guidData,
  30. VARIANT * pvData
  31. );
  32. HRESULT
  33. UnpackGuidFromVariant(
  34. VARIANT varGet,
  35. GUID *pguidPropVal
  36. );
  37. HRESULT PackGuidArray2Variant(
  38. GUID * guidData,
  39. ULONG cguids,
  40. VARIANT * pvData
  41. );
  42. HRESULT
  43. BuildVarArrayStr(
  44. LPWSTR *lppPathNames,
  45. DWORD dwPathNames,
  46. VARIANT * pVar
  47. );
  48. HRESULT GetFromVariant(VARIANT *pVar,
  49. DWORD *pCount, // In, Out
  50. LPOLESTR *rpgList);
  51. int StringFromGUID(REFGUID rguid, LPWSTR lptsz);
  52. int RdnFromGUID(REFGUID rguid, LPWSTR lptsz);
  53. void GUIDFromString(LPWSTR psz,
  54. GUID *pclsguid);
  55. HRESULT GetProperty (IADs *pADs,
  56. LPWSTR pszPropName,
  57. LPWSTR pszPropVal);
  58. HRESULT GetPropertyDW (IADs *pADs,
  59. LPWSTR pszPropName,
  60. DWORD *pdwPropVal);
  61. HRESULT GetPropertyGuid(IADs *pADs, LPOLESTR pszPropName, GUID *pguidPropVal);
  62. HRESULT GetPropertyAlloc (IADs *pADs,
  63. LPWSTR pszPropName,
  64. LPWSTR *ppszPropVal);
  65. HRESULT SetProperty (IADs *pADs,
  66. LPWSTR pszPropName,
  67. LPWSTR pszPropVal);
  68. HRESULT SetPropertyDW (IADs *pADs,
  69. LPWSTR pszPropName,
  70. DWORD dwPropVal);
  71. HRESULT SetPropertyList(IADs *pADs,
  72. LPWSTR pszPropName,
  73. DWORD Count,
  74. LPWSTR *pList);
  75. HRESULT SetPropertyListMerge(IADs *pADs,
  76. LPWSTR pszPropName,
  77. DWORD Count,
  78. LPWSTR *pList);
  79. HRESULT GetPropertyList(IADs *pADs,
  80. LPWSTR pszPropName,
  81. DWORD *pCount,
  82. LPWSTR *pList);
  83. HRESULT GetPropertyListAlloc(IADs *pADs,
  84. LPWSTR pszPropName,
  85. DWORD *pCount,
  86. LPWSTR **pList);
  87. HRESULT GetPropertyListAllocDW (IADs *pADs, LPOLESTR pszPropName, DWORD *pCount, DWORD **pdwPropVal);
  88. HRESULT SetPropertyListDW (IADs *pADs, LPOLESTR pszPropName, DWORD dwCount, DWORD *pdwPropVal);
  89. HRESULT SetPropertyGuid (IADs *pADs,
  90. LPOLESTR pszPropName,
  91. GUID guidPropVal);
  92. HRESULT SetPropertyListGuid(IADs *pADs,
  93. LPOLESTR pszPropName,
  94. DWORD cCount,
  95. GUID *ppList);
  96. HRESULT GetPropertyListAllocGuid(IADs *pADs,
  97. LPOLESTR pszPropName,
  98. DWORD *pCount,
  99. GUID **ppList);
  100. HRESULT UsnUpd (IADs *pADs, LPWSTR szProp, LPOLESTR pUsn);
  101. void UnpackPlatform (DWORD *pdwArch, CSPLATFORM *pPlatform);
  102. void PackPlatform (DWORD dwArch, CSPLATFORM *pPlatform);
  103. ULONG FindDescription(LPOLESTR *desc, ULONG cdesc, LCID *plcid,
  104. LPOLESTR szDescription, BOOL GetPrimary);
  105. HRESULT GetCategoryLocaleDesc(LPOLESTR *pdesc, ULONG cdesc, LCID *plcid,
  106. LPOLESTR szDescription);
  107. HRESULT CreateRepository(LPOLESTR szParentPath,
  108. LPOLESTR szContainerName);
  109. HRESULT GetRootPath(WCHAR *szRootPath);
  110. HRESULT StoreIt (IADs *pADs);
  111. BOOL IsNullGuid(REFGUID rguid);
  112. STDAPI
  113. ReleasePackageInfo(PACKAGEDISPINFO *PackageInfo);
  114. HRESULT GetPackageDetail (IADs *pPackageADs,
  115. PACKAGEDETAIL *pPackageDetail);
  116. #define CLASS_CS_CONTAINER L"classStore"
  117. #define CLASS_CS_CLASS L"classRegistration"
  118. #define CLASS_CS_PACKAGE L"packageRegistration"
  119. #define CLASS_CS_CATEGORY L"categoryRegistration"
  120. #define CLASSCONTAINERNAME L"CN=Classes"
  121. #define PACKAGECONTAINERNAME L"CN=Packages"
  122. #define CATEGORYCONTAINERNAME L"CN=Categories"
  123. #define APPCATEGORYCONTAINERNAME L"CN=AppCategories,CN=Default Domain Policy,CN=System,"
  124. #define LDAPPREFIX L"LDAP://"
  125. //
  126. // ClassStoreContainer object propertynames
  127. //
  128. #define STOREVERSION L"appSchemaVersion"
  129. #define UPDATECOOKIE L"lastUpdateSequence"
  130. //
  131. // Class object propertynames
  132. //
  133. #define MIMETYPES L"mIMETypes"
  134. #define PROGIDLIST L"cOMProgId"
  135. #define CLASSCLSID L"cOMCLSID"
  136. #define DESCRIPTION L"description"
  137. #define TREATASCLSID L"cOMTreatAsClassId"
  138. #define AUTOCONCLSID L"cOMAutoConvertClassId"
  139. #define IMPL_CATEGORIES L"implementedCategories"
  140. #define REQ_CATEGORIES L"requiredCategories"
  141. #define CLASSREFCOUNTER L"flags" // BUGBUG:: schema to be put in.
  142. //
  143. // Package object propertynames
  144. //
  145. #define PKGTLBIDLIST L"cOMTypelibId"
  146. #define PKGCLSIDLIST L"cOMClassID"
  147. #define PKGPROGIDLIST L"cOMProgID"
  148. #define PKGIIDLIST L"cOMInterfaceID"
  149. #define QRYFILEEXT L"fileExtension"
  150. #define PKGFILEEXTNLIST L"fileExtPriority"
  151. #define LOCALEID L"localeID"
  152. #define ARCHLIST L"machineArchitecture"
  153. #define VERSIONHI L"versionNumberHi"
  154. #define VERSIONLO L"versionNumberLo"
  155. #define PACKAGETYPE L"packageType"
  156. #define PACKAGEFLAGS L"packageFlags"
  157. #define PACKAGENAME L"packageName"
  158. #define SCRIPTPATH L"msiScriptPath"
  159. #define SCRIPTNAME L"msiScriptName"
  160. #define SCRIPTSIZE L"msiScriptSize"
  161. #define HELPURL L"url"
  162. #define SETUPCOMMAND L"setupCommand"
  163. #define CLASSCTX L"executionContext"
  164. #define PKGUSN L"lastUpdateSequence"
  165. #define MSIFILELIST L"msiFileList"
  166. #define PKGCATEGORYLIST L"categories"
  167. #define UPGRADESCRIPTNAMES L"canUpgradeScript"
  168. #define UILEVEL L"installUiLevel"
  169. #define PKGSCRIPT L"msiScript"
  170. #define PKGUPGRADECODES L"upgradeProductCode"
  171. #define PRODUCTCODE L"productCode"
  172. #define MVIPC L"upgradeProductCode" // BUGBUG:: Schema name has to change
  173. #define PRODUCTNAME L"displayName"
  174. //
  175. // Category object Propertynames
  176. //
  177. #define DESCRIPTION L"description"
  178. #define LOCALEDESCRIPTION L"extensionName"
  179. #define DEFAULT_LOCALE_ID L"localeID"
  180. #define CATEGORYCATID L"categoryId"
  181. #define OBJECTCLASS L"objectclass"
  182. #define OBJECTNAME L"name"
  183. #define DEFAULTCLASSSTOREPATH L"defaultClassStore"
  184. #define CATSEPERATOR L"::" // Name seperating lcid and description in DS.