236 lines
6.6 KiB
C++
236 lines
6.6 KiB
C++
|
|
#define SCHEMA_VERSION_NUMBER 1740
|
|
|
|
#define STRINGGUIDLEN 37
|
|
#define STRINGGUIDRDNLEN 37+3
|
|
typedef WCHAR STRINGGUID [STRINGGUIDLEN];
|
|
typedef WCHAR STRINGGUIDRDN [STRINGGUIDRDNLEN];
|
|
|
|
typedef FILETIME CSUSN;
|
|
|
|
HRESULT
|
|
PackString2Variant(
|
|
LPWSTR lpszData,
|
|
VARIANT * pvData
|
|
);
|
|
|
|
HRESULT
|
|
PackDWORD2Variant(
|
|
DWORD dwData,
|
|
VARIANT * pvData
|
|
);
|
|
|
|
HRESULT PackDWORDArray2Variant(
|
|
DWORD * pdwData,
|
|
ULONG cdword,
|
|
VARIANT * pvData
|
|
);
|
|
|
|
HRESULT
|
|
PackBOOL2Variant(
|
|
BOOL fData,
|
|
VARIANT * pvData
|
|
);
|
|
|
|
HRESULT
|
|
PackGuid2Variant(
|
|
GUID guidData,
|
|
VARIANT * pvData
|
|
);
|
|
|
|
HRESULT
|
|
UnpackGuidFromVariant(
|
|
VARIANT varGet,
|
|
GUID *pguidPropVal
|
|
);
|
|
|
|
HRESULT PackGuidArray2Variant(
|
|
GUID * guidData,
|
|
ULONG cguids,
|
|
VARIANT * pvData
|
|
);
|
|
|
|
HRESULT
|
|
BuildVarArrayStr(
|
|
LPWSTR *lppPathNames,
|
|
DWORD dwPathNames,
|
|
VARIANT * pVar
|
|
);
|
|
|
|
HRESULT GetFromVariant(VARIANT *pVar,
|
|
DWORD *pCount, // In, Out
|
|
LPOLESTR *rpgList);
|
|
|
|
int StringFromGUID(REFGUID rguid, LPWSTR lptsz);
|
|
|
|
int RdnFromGUID(REFGUID rguid, LPWSTR lptsz);
|
|
|
|
void GUIDFromString(LPWSTR psz,
|
|
GUID *pclsguid);
|
|
|
|
HRESULT GetProperty (IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
LPWSTR pszPropVal);
|
|
|
|
HRESULT GetPropertyDW (IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
DWORD *pdwPropVal);
|
|
|
|
HRESULT GetPropertyGuid(IADs *pADs, LPOLESTR pszPropName, GUID *pguidPropVal);
|
|
|
|
HRESULT GetPropertyAlloc (IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
LPWSTR *ppszPropVal);
|
|
|
|
HRESULT SetProperty (IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
LPWSTR pszPropVal);
|
|
|
|
HRESULT SetPropertyDW (IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
DWORD dwPropVal);
|
|
|
|
HRESULT SetPropertyList(IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
DWORD Count,
|
|
LPWSTR *pList);
|
|
|
|
HRESULT SetPropertyListMerge(IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
DWORD Count,
|
|
LPWSTR *pList);
|
|
|
|
HRESULT GetPropertyList(IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
DWORD *pCount,
|
|
LPWSTR *pList);
|
|
|
|
|
|
HRESULT GetPropertyListAlloc(IADs *pADs,
|
|
LPWSTR pszPropName,
|
|
DWORD *pCount,
|
|
LPWSTR **pList);
|
|
|
|
HRESULT GetPropertyListAllocDW (IADs *pADs, LPOLESTR pszPropName, DWORD *pCount, DWORD **pdwPropVal);
|
|
HRESULT SetPropertyListDW (IADs *pADs, LPOLESTR pszPropName, DWORD dwCount, DWORD *pdwPropVal);
|
|
|
|
HRESULT SetPropertyGuid (IADs *pADs,
|
|
LPOLESTR pszPropName,
|
|
GUID guidPropVal);
|
|
|
|
HRESULT SetPropertyListGuid(IADs *pADs,
|
|
LPOLESTR pszPropName,
|
|
DWORD cCount,
|
|
GUID *ppList);
|
|
|
|
HRESULT GetPropertyListAllocGuid(IADs *pADs,
|
|
LPOLESTR pszPropName,
|
|
DWORD *pCount,
|
|
GUID **ppList);
|
|
|
|
HRESULT UsnUpd (IADs *pADs, LPWSTR szProp, LPOLESTR pUsn);
|
|
|
|
void UnpackPlatform (DWORD *pdwArch, CSPLATFORM *pPlatform);
|
|
void PackPlatform (DWORD dwArch, CSPLATFORM *pPlatform);
|
|
|
|
ULONG FindDescription(LPOLESTR *desc, ULONG cdesc, LCID *plcid,
|
|
LPOLESTR szDescription, BOOL GetPrimary);
|
|
|
|
HRESULT GetCategoryLocaleDesc(LPOLESTR *pdesc, ULONG cdesc, LCID *plcid,
|
|
LPOLESTR szDescription);
|
|
|
|
HRESULT CreateRepository(LPOLESTR szParentPath,
|
|
LPOLESTR szContainerName);
|
|
|
|
HRESULT GetRootPath(WCHAR *szRootPath);
|
|
|
|
HRESULT StoreIt (IADs *pADs);
|
|
BOOL IsNullGuid(REFGUID rguid);
|
|
|
|
STDAPI
|
|
ReleasePackageInfo(PACKAGEDISPINFO *PackageInfo);
|
|
|
|
HRESULT GetPackageDetail (IADs *pPackageADs,
|
|
PACKAGEDETAIL *pPackageDetail);
|
|
|
|
#define CLASS_CS_CONTAINER L"classStore"
|
|
#define CLASS_CS_CLASS L"classRegistration"
|
|
#define CLASS_CS_PACKAGE L"packageRegistration"
|
|
#define CLASS_CS_CATEGORY L"categoryRegistration"
|
|
|
|
|
|
#define CLASSCONTAINERNAME L"CN=Classes"
|
|
#define PACKAGECONTAINERNAME L"CN=Packages"
|
|
#define CATEGORYCONTAINERNAME L"CN=Categories"
|
|
#define APPCATEGORYCONTAINERNAME L"CN=AppCategories,CN=Default Domain Policy,CN=System,"
|
|
#define LDAPPREFIX L"LDAP://"
|
|
|
|
//
|
|
// ClassStoreContainer object propertynames
|
|
//
|
|
#define STOREVERSION L"appSchemaVersion"
|
|
#define UPDATECOOKIE L"lastUpdateSequence"
|
|
|
|
//
|
|
// Class object propertynames
|
|
//
|
|
#define MIMETYPES L"mIMETypes"
|
|
#define PROGIDLIST L"cOMProgId"
|
|
#define CLASSCLSID L"cOMCLSID"
|
|
#define DESCRIPTION L"description"
|
|
#define TREATASCLSID L"cOMTreatAsClassId"
|
|
#define AUTOCONCLSID L"cOMAutoConvertClassId"
|
|
#define IMPL_CATEGORIES L"implementedCategories"
|
|
#define REQ_CATEGORIES L"requiredCategories"
|
|
#define CLASSREFCOUNTER L"flags" // BUGBUG:: schema to be put in.
|
|
|
|
|
|
//
|
|
// Package object propertynames
|
|
//
|
|
|
|
#define PKGTLBIDLIST L"cOMTypelibId"
|
|
#define PKGCLSIDLIST L"cOMClassID"
|
|
#define PKGPROGIDLIST L"cOMProgID"
|
|
#define PKGIIDLIST L"cOMInterfaceID"
|
|
#define QRYFILEEXT L"fileExtension"
|
|
#define PKGFILEEXTNLIST L"fileExtPriority"
|
|
#define LOCALEID L"localeID"
|
|
#define ARCHLIST L"machineArchitecture"
|
|
#define VERSIONHI L"versionNumberHi"
|
|
#define VERSIONLO L"versionNumberLo"
|
|
#define PACKAGETYPE L"packageType"
|
|
#define PACKAGEFLAGS L"packageFlags"
|
|
#define PACKAGENAME L"packageName"
|
|
#define SCRIPTPATH L"msiScriptPath"
|
|
#define SCRIPTNAME L"msiScriptName"
|
|
#define SCRIPTSIZE L"msiScriptSize"
|
|
#define HELPURL L"url"
|
|
#define SETUPCOMMAND L"setupCommand"
|
|
#define CLASSCTX L"executionContext"
|
|
#define PKGUSN L"lastUpdateSequence"
|
|
#define MSIFILELIST L"msiFileList"
|
|
#define PKGCATEGORYLIST L"categories"
|
|
#define UPGRADESCRIPTNAMES L"canUpgradeScript"
|
|
#define UILEVEL L"installUiLevel"
|
|
#define PKGSCRIPT L"msiScript"
|
|
#define PKGUPGRADECODES L"upgradeProductCode"
|
|
#define PRODUCTCODE L"productCode"
|
|
#define MVIPC L"upgradeProductCode" // BUGBUG:: Schema name has to change
|
|
#define PRODUCTNAME L"displayName"
|
|
|
|
//
|
|
// Category object Propertynames
|
|
//
|
|
#define DESCRIPTION L"description"
|
|
#define LOCALEDESCRIPTION L"extensionName"
|
|
#define DEFAULT_LOCALE_ID L"localeID"
|
|
#define CATEGORYCATID L"categoryId"
|
|
|
|
|
|
#define OBJECTCLASS L"objectclass"
|
|
#define OBJECTNAME L"name"
|
|
#define DEFAULTCLASSSTOREPATH L"defaultClassStore"
|
|
|
|
#define CATSEPERATOR L"::" // Name seperating lcid and description in DS.
|