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.
 
 
 
 
 
 

312 lines
16 KiB

cpp_quote("#ifndef _MD_IMD_")
cpp_quote("#define _MD_IMD_")
import "unknwn.idl";
import "wtypes.idl";
import "objidl.idl";
import "ocidl.idl";
import "mddef.idl";
cpp_quote("/* ")
cpp_quote("The Main Interface ")
cpp_quote("*/ ")
#define METADATA_MAX_NAME_LEN 256
cpp_quote("DEFINE_GUID(CLSID_MDCOM, 0xba4e57f0, 0xfab6, 0x11cf, 0x9d, 0x1a, 0x0, 0xaa, 0x0, 0xa7, 0xd, 0x51);")
cpp_quote("DEFINE_GUID(IID_IMDCOM, 0xc1aa48c0, 0xfacc, 0x11cf, 0x9d, 0x1a, 0x0, 0xaa, 0x0, 0xa7, 0xd, 0x51);")
cpp_quote("DEFINE_GUID(IID_NSECOM, 0x4810a750, 0x4318, 0x11d0, 0xa5, 0xc8, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x52);")
cpp_quote("DEFINE_GUID(CLSID_NSEPMCOM, 0x05dc3bb0, 0x4337, 0x11d0, 0xa5, 0xc8, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x52);")
cpp_quote("DEFINE_GUID(CLSID_MDCOMEXE, 0xba4e57f1, 0xfab6, 0x11cf, 0x9d, 0x1a, 0x0, 0xaa, 0x0, 0xa7, 0xd, 0x51);")
cpp_quote("DEFINE_GUID(CLSID_MDPCOM, 0xf1e08563, 0x1598, 0x11d1, 0x9d, 0x77, 0x0, 0xc0, 0x4f, 0xd7, 0xbf, 0x3e);")
//cpp_quote("#define GETMDCLSID(IsService) ((IsService) ? CLSID_MDCOM : CLSID_MDCOMEXE)")
cpp_quote("#define GETMDCLSID(IsService) CLSID_MDCOM")
cpp_quote("#define GETMDPCLSID(IsService) CLSID_MDPCOM")
#ifdef UNICODE
cpp_quote("#define IID_IMDCOMSINK IID_IMDCOMSINK_W")
#else
cpp_quote("#define IID_IMDCOMSINK IID_IMDCOMSINK_A")
#endif
cpp_quote("DEFINE_GUID(IID_IMDCOMSINK_A, 0x5229ea36, 0x1bdf, 0x11d0, 0x9d, 0x1c, 0x0, 0xaa, 0x0, 0xa7, 0xd, 0x51);")
cpp_quote("DEFINE_GUID(IID_IMDCOMSINK_W, 0x6906ee20, 0xb69f, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);")
[object, uuid(C1AA48C0-FACC-11cf-9D1A-00AA00A70D51), pointer_default(unique)]
interface IMDCOM : IUnknown {
// Interfaces
HRESULT ComMDInitialize();
HRESULT ComMDTerminate([in] BOOL bSaveData);
HRESULT ComMDShutdown();
HRESULT ComMDAddMetaObjectA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath);
HRESULT ComMDAddMetaObjectW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath);
HRESULT ComMDDeleteMetaObjectA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath);
HRESULT ComMDDeleteMetaObjectW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath);
HRESULT ComMDDeleteChildMetaObjectsA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath);
HRESULT ComMDDeleteChildMetaObjectsW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath);
HRESULT ComMDEnumMetaObjectsA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[out, size_is(METADATA_MAX_NAME_LEN)] unsigned char *pszMDName,
[in] DWORD dwMDEnumObjectIndex);
HRESULT ComMDEnumMetaObjectsW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[out, size_is(METADATA_MAX_NAME_LEN)] LPWSTR pszMDName,
[in] DWORD dwMDEnumObjectIndex);
HRESULT ComMDCopyMetaObjectA([in] METADATA_HANDLE hMDSourceHandle,
[unique, in, string] unsigned char *pszMDSourcePath,
[in] METADATA_HANDLE hMDDestHandle,
[unique, in, string] unsigned char *pszMDDestPath,
[in] BOOL bMDOverwriteFlag,
[in] BOOL bMDCopyFlag);
HRESULT ComMDCopyMetaObjectW([in] METADATA_HANDLE hMDSourceHandle,
[unique, in, string] LPCWSTR pszMDSourcePath,
[in] METADATA_HANDLE hMDDestHandle,
[unique, in, string] LPCWSTR pszMDDestPath,
[in] BOOL bMDOverwriteFlag,
[in] BOOL bMDCopyFlag);
HRESULT ComMDRenameMetaObjectA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[unique, in, string] unsigned char *pszMDNewName);
HRESULT ComMDRenameMetaObjectW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[unique, in, string] LPCWSTR pszMDNewName);
HRESULT ComMDSetMetaDataA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in] PMETADATA_RECORD pmdrMDData);
HRESULT ComMDSetMetaDataW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in] PMETADATA_RECORD pmdrMDData);
HRESULT ComMDGetMetaDataA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in, out] PMETADATA_RECORD pmdrMDData,
[out] DWORD *pdwMDRequiredDataLen);
HRESULT ComMDGetMetaDataW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in, out] PMETADATA_RECORD pmdrMDData,
[out] DWORD *pdwMDRequiredDataLen);
HRESULT ComMDDeleteMetaDataA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in] DWORD dwMDIdentifier,
[in] DWORD dwMDDataType);
HRESULT ComMDDeleteMetaDataW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in] DWORD dwMDIdentifier,
[in] DWORD dwMDDataType);
HRESULT ComMDEnumMetaDataA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in, out] PMETADATA_RECORD pmdrMDData,
[in] DWORD dwMDEnumDataIndex,
[out] DWORD *pdwMDRequiredDataLen);
HRESULT ComMDEnumMetaDataW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in, out] PMETADATA_RECORD pmdrMDData,
[in] DWORD dwMDEnumDataIndex,
[out] DWORD *pdwMDRequiredDataLen);
HRESULT ComMDGetAllMetaDataA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in] DWORD dwMDAttributes,
[in] DWORD dwMDUserType,
[in] DWORD dwMDDataType,
[out] DWORD *pdwMDNumDataEntries,
[out] DWORD *pdwMDDataSetNumber,
[in] DWORD dwMDBufferSize,
[out, size_is(dwMDBufferSize)] unsigned char *pbBuffer,
[out] DWORD *pdwMDRequiredBufferSize);
HRESULT ComMDGetAllMetaDataW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in] DWORD dwMDAttributes,
[in] DWORD dwMDUserType,
[in] DWORD dwMDDataType,
[out] DWORD *pdwMDNumDataEntries,
[out] DWORD *pdwMDDataSetNumber,
[in] DWORD dwMDBufferSize,
[out, size_is(dwMDBufferSize)] unsigned char *pbBuffer,
[out] DWORD *pdwMDRequiredBufferSize);
HRESULT ComMDDeleteAllMetaDataA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in] DWORD dwMDUserType,
[in] DWORD dwMDDataType);
HRESULT ComMDDeleteAllMetaDataW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in] DWORD dwMDUserType,
[in] DWORD dwMDDataType);
HRESULT ComMDCopyMetaDataA([in] METADATA_HANDLE hMDSourceHandle,
[unique, in, string] unsigned char *pszMDSourcePath,
[in] METADATA_HANDLE hMDDestHandle,
[unique, in, string] unsigned char *pszMDDestPath,
[in] DWORD dwMDAttributes,
[in] DWORD dwMDUserType,
[in] DWORD dwMDDataType,
[in] BOOL bMDCopyFlag);
HRESULT ComMDCopyMetaDataW([in] METADATA_HANDLE hMDSourceHandle,
[unique, in, string] LPCWSTR pszMDSourcePath,
[in] METADATA_HANDLE hMDDestHandle,
[unique, in, string] LPCWSTR pszMDDestPath,
[in] DWORD dwMDAttributes,
[in] DWORD dwMDUserType,
[in] DWORD dwMDDataType,
[in] BOOL bMDCopyFlag);
HRESULT ComMDOpenMetaObjectA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in] DWORD dwMDAccessRequested,
[in] DWORD dwMDTimeOut,
[out] PMETADATA_HANDLE phMDNewHandle);
HRESULT ComMDOpenMetaObjectW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in] DWORD dwMDAccessRequested,
[in] DWORD dwMDTimeOut,
[out] PMETADATA_HANDLE phMDNewHandle);
HRESULT ComMDCloseMetaObject([in] METADATA_HANDLE hMDHandle);
HRESULT ComMDChangePermissions([in] METADATA_HANDLE hMDHandle,
[in] DWORD dwMDTimeOut,
[in] DWORD dwMDAccessRequested);
HRESULT ComMDSaveData();
HRESULT ComMDGetHandleInfo([in] METADATA_HANDLE hMDHandle,
[out] PMETADATA_HANDLE_INFO pmdhiInfo);
HRESULT ComMDGetSystemChangeNumber([out] DWORD *pdwSystemChangeNumber);
HRESULT ComMDGetDataSetNumberA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[out] DWORD *pdwMDDataSetNumber);
HRESULT ComMDGetDataSetNumberW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[out] DWORD *pdwMDDataSetNumber);
HRESULT ComMDAddRefReferenceData([in] DWORD dwMDDataTag);
HRESULT ComMDReleaseReferenceData([in] DWORD dwMDDataTag);
HRESULT ComMDSetLastChangeTimeA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[in] PFILETIME pftMDLastChangeTime);
HRESULT ComMDSetLastChangeTimeW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[in] PFILETIME pftMDLastChangeTime);
HRESULT ComMDGetLastChangeTimeA([in] METADATA_HANDLE hMDHandle,
[unique, in, string] unsigned char *pszMDPath,
[out] PFILETIME pftMDLastChangeTime);
HRESULT ComMDGetLastChangeTimeW([in] METADATA_HANDLE hMDHandle,
[unique, in, string] LPCWSTR pszMDPath,
[out] PFILETIME pftMDLastChangeTime);
};
cpp_quote("/* ")
cpp_quote("The Callback Interface - Clients that need to receive callbacks need to provide ")
cpp_quote(" an implementation of this interface and Advise the metadata server. ")
cpp_quote("*/ ")
#ifdef UNICODE
cpp_quote("#define IMDCOMSINK IMDCOMSINKW")
#else
cpp_quote("#define IMDCOMSINK IMDCOMSINKA")
#endif
[object, uuid(5229EA36-1BDF-11d0-9D1C-00AA00A70D51), pointer_default(unique)]
interface IMDCOMSINKA:IUnknown
{
HRESULT ComMDSinkNotify([in] METADATA_HANDLE hMDHandle,
[in] DWORD dwMDNumElements,
[in, size_is(dwMDNumElements)] MD_CHANGE_OBJECT_A pcoChangeList[]);
}
[object, uuid(6906EE20-B69F-11d0-B9B9-00A0C922E750), pointer_default(unique)]
interface IMDCOMSINKW:IUnknown
{
HRESULT ComMDSinkNotify([in] METADATA_HANDLE hMDHandle,
[in] DWORD dwMDNumElements,
[in, size_is(dwMDNumElements)] MD_CHANGE_OBJECT_W pcoChangeList[]);
}
// UNICODE DEFINITIONS
cpp_quote(" ")
cpp_quote("#ifdef UNICODE ")
cpp_quote(" ")
cpp_quote("#define ComMDAddMetaObject ComMDAddMetaObjectW ")
cpp_quote("#define ComMDDeleteMetaObject ComMDDeleteMetaObjectW ")
cpp_quote("#define ComMDDeleteChildMetaObjects ComMDDeleteChildMetaObjectsW ")
cpp_quote("#define ComMDEnumMetaObjects ComMDEnumMetaObjectsW ")
cpp_quote("#define ComMDCopyMetaObject ComMDCopyMetaObjectW ")
cpp_quote("#define ComMDRenameMetaObject ComMDRenameMetaObjectW ")
cpp_quote("#define ComMDSetMetaData ComMDSetMetaDataW ")
cpp_quote("#define ComMDGetMetaData ComMDGetMetaDataW ")
cpp_quote("#define ComMDDeleteMetaData ComMDDeleteMetaDataW ")
cpp_quote("#define ComMDEnumMetaData ComMDEnumMetaDataW ")
cpp_quote("#define ComMDGetAllMetaData ComMDGetAllMetaDataW ")
cpp_quote("#define ComMDDeleteAllMetaData ComMDDeleteAllMetaDataW ")
cpp_quote("#define ComMDCopyMetaData ComMDCopyMetaDataW ")
cpp_quote("#define ComMDOpenMetaObject ComMDOpenMetaObjectW ")
cpp_quote("#define ComMDGetDataSetNumber ComMDGetDataSetNumberW ")
cpp_quote("#define ComMDSetLastChangeTime ComMDSetLastChangeTimeW ")
cpp_quote("#define ComMDGetLastChangeTime ComMDGetLastChangeTimeW ")
cpp_quote(" ")
cpp_quote("#else // Not UNICODE ")
cpp_quote(" ")
cpp_quote("#define ComMDAddMetaObject ComMDAddMetaObjectA ")
cpp_quote("#define ComMDDeleteMetaObject ComMDDeleteMetaObjectA ")
cpp_quote("#define ComMDDeleteChildMetaObjects ComMDDeleteChildMetaObjectsA ")
cpp_quote("#define ComMDEnumMetaObjects ComMDEnumMetaObjectsA ")
cpp_quote("#define ComMDCopyMetaObject ComMDCopyMetaObjectA ")
cpp_quote("#define ComMDRenameMetaObject ComMDRenameMetaObjectA ")
cpp_quote("#define ComMDSetMetaData ComMDSetMetaDataA ")
cpp_quote("#define ComMDGetMetaData ComMDGetMetaDataA ")
cpp_quote("#define ComMDDeleteMetaData ComMDDeleteMetaDataA ")
cpp_quote("#define ComMDEnumMetaData ComMDEnumMetaDataA ")
cpp_quote("#define ComMDGetAllMetaData ComMDGetAllMetaDataA ")
cpp_quote("#define ComMDDeleteAllMetaData ComMDDeleteAllMetaDataA ")
cpp_quote("#define ComMDCopyMetaData ComMDCopyMetaDataA ")
cpp_quote("#define ComMDOpenMetaObject ComMDOpenMetaObjectA ")
cpp_quote("#define ComMDGetDataSetNumber ComMDGetDataSetNumberA ")
cpp_quote("#define ComMDSetLastChangeTime ComMDSetLastChangeTimeA ")
cpp_quote("#define ComMDGetLastChangeTime ComMDGetLastChangeTimeA ")
cpp_quote(" ")
cpp_quote("#endif //UNICODE ")
cpp_quote(" ")
cpp_quote("#endif")