windows-nt/Source/XPSP1/NT/com/ole32/cs/common/dsprop.hxx
2020-09-26 16:20:57 +08:00

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.