|
|
#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.
|