264 lines
12 KiB
Plaintext
264 lines
12 KiB
Plaintext
|
||
cpp_quote ("/*++")
|
||
cpp_quote(" ")
|
||
cpp_quote("Copyright (c) 1997 Microsoft Corporation")
|
||
cpp_quote(" ")
|
||
cpp_quote("Module Name: iadm.h")
|
||
cpp_quote(" ")
|
||
cpp_quote(" Admin Objects Interfaces")
|
||
cpp_quote(" ")
|
||
cpp_quote ("--*/")
|
||
cpp_quote("#ifndef _ADM_IADM_")
|
||
cpp_quote("#define _ADM_IADM_")
|
||
|
||
import "unknwn.idl";
|
||
import "wtypes.idl";
|
||
import "objidl.idl";
|
||
import "ocidl.idl";
|
||
import "iiscblob.h"; // Removed by POSTMIDL.SCR after IADM.H is generated!
|
||
import "iadmw.idl";
|
||
import "mddef.idl";
|
||
|
||
|
||
cpp_quote("DEFINE_GUID(CLSID_MSAdminBase_A, 0x88e4ba60, 0x537b, 0x11d0, 0x9b, 0x8e, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x3);")
|
||
cpp_quote("DEFINE_GUID(IID_IMSAdminBase_A, 0xcba424f0, 0x483a, 0x11d0, 0x9d, 0x2a, 0x0,0xa0, 0xc9, 0x22, 0xe7, 0x3);")
|
||
cpp_quote("DEFINE_GUID(CLSID_MSAdminBaseExe_A, 0xdf380700, 0x537d, 0x11d0, 0x9b, 0x8e, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x3);")
|
||
|
||
cpp_quote("DEFINE_GUID(IID_IMSAdminBaseSink_A, 0x1e056350, 0x761e, 0x11d0, 0x9b, 0xa1, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x03);")
|
||
|
||
cpp_quote("#define GETAdminBaseCLSIDA(IsService) ((IsService) ? CLSID_MSAdminBase_A : CLSID_MSAdminBaseExe_A)")
|
||
|
||
#define ADMINDATA_MAX_NAME_LEN 256
|
||
|
||
cpp_quote("#undef CLSID_MSAdminBase ")
|
||
cpp_quote("#undef CLSID_MSAdminBaseExe ")
|
||
cpp_quote("#undef IID_IMSAdminBase ")
|
||
cpp_quote("#undef IMSAdminBase ")
|
||
cpp_quote("#undef IMSAdminBaseSink ")
|
||
cpp_quote("#undef IID_IMSAdminBaseSink ")
|
||
cpp_quote("#undef GETAdminBaseCLSID ")
|
||
|
||
|
||
cpp_quote(" ")
|
||
cpp_quote("#ifdef UNICODE ")
|
||
cpp_quote("#define CLSID_MSAdminBase CLSID_MSAdminBase_W ")
|
||
cpp_quote("#define CLSID_MSAdminBaseExe CLSID_MSAdminBaseExe_W ")
|
||
cpp_quote("#define IID_IMSAdminBase IID_IMSAdminBase_W ")
|
||
cpp_quote("#define IMSAdminBase IMSAdminBaseW ")
|
||
cpp_quote("#define IMSAdminBaseSink IMSAdminBaseSinkW ")
|
||
cpp_quote("#define IID_IMSAdminBaseSink IID_IMSAdminBaseSink_W ")
|
||
cpp_quote("#define GETAdminBaseCLSID GETAdminBaseCLSIDW ")
|
||
cpp_quote("#else ")
|
||
cpp_quote("#define CLSID_MSAdminBase CLSID_MSAdminBase_A ")
|
||
cpp_quote("#define CLSID_MSAdminBaseExe CLSID_MSAdminBaseExe_A ")
|
||
cpp_quote("#define IID_IMSAdminBase IID_IMSAdminBase_A ")
|
||
cpp_quote("#define IMSAdminBase IMSAdminBaseA ")
|
||
cpp_quote("#define IMSAdminBaseSink IMSAdminBaseSinkA ")
|
||
cpp_quote("#define IID_IMSAdminBaseSink IID_IMSAdminBaseSink_A ")
|
||
cpp_quote("#define GETAdminBaseCLSID GETAdminBaseCLSIDA ")
|
||
cpp_quote("#endif //UNICODE ")
|
||
cpp_quote(" ")
|
||
|
||
cpp_quote("/* ")
|
||
cpp_quote("The Main Interface ")
|
||
cpp_quote("*/ ")
|
||
|
||
|
||
[
|
||
object,
|
||
uuid(CBA424F0-483A-11D0-9D2A-00A0C922E703),
|
||
pointer_default(unique)
|
||
]
|
||
|
||
interface IMSAdminBaseA : IUnknown {
|
||
|
||
// Interfaces
|
||
|
||
HRESULT AddKey([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath);
|
||
|
||
HRESULT DeleteKey([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath);
|
||
|
||
HRESULT DeleteChildKeys([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath);
|
||
|
||
HRESULT EnumKeys([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[out, size_is(ADMINDATA_MAX_NAME_LEN)] unsigned char *pszMDName,
|
||
[in] DWORD dwMDEnumObjectIndex);
|
||
|
||
HRESULT CopyKey([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 RenameKey([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[unique, in, string] unsigned char *pszMDNewName);
|
||
|
||
[local]
|
||
HRESULT SetData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in] PMETADATA_RECORD pmdrMDData);
|
||
|
||
[call_as(SetData)]
|
||
HRESULT R_SetData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in] PMETADATA_RECORD pmdrMDData);
|
||
|
||
[local]
|
||
HRESULT GetData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in, out] PMETADATA_RECORD pmdrMDData,
|
||
[out] DWORD *pdwMDRequiredDataLen);
|
||
|
||
[call_as(GetData)]
|
||
HRESULT R_GetData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in, out] PMETADATA_RECORD pmdrMDData,
|
||
[out] DWORD *pdwMDRequiredDataLen,
|
||
[out] struct _IIS_CRYPTO_BLOB **ppDataBlob);
|
||
|
||
HRESULT DeleteData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in] DWORD dwMDIdentifier,
|
||
[in] DWORD dwMDDataType);
|
||
|
||
[local]
|
||
HRESULT EnumData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in, out] PMETADATA_RECORD pmdrMDData,
|
||
[in] DWORD dwMDEnumDataIndex,
|
||
[out] DWORD *pdwMDRequiredDataLen);
|
||
|
||
[call_as(EnumData)]
|
||
HRESULT R_EnumData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in, out] PMETADATA_RECORD pmdrMDData,
|
||
[in] DWORD dwMDEnumDataIndex,
|
||
[out] DWORD *pdwMDRequiredDataLen,
|
||
[out] struct _IIS_CRYPTO_BLOB **ppDataBlob);
|
||
|
||
[local]
|
||
HRESULT GetAllData([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);
|
||
|
||
[call_as(GetAllData)]
|
||
HRESULT R_GetAllData([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] DWORD *pdwMDRequiredBufferSize,
|
||
[out] struct _IIS_CRYPTO_BLOB **ppDataBlob);
|
||
|
||
HRESULT DeleteAllData([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in] DWORD dwMDUserType,
|
||
[in] DWORD dwMDDataType);
|
||
|
||
HRESULT CopyData([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 OpenKey([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in] DWORD dwMDAccessRequested,
|
||
[in] DWORD dwMDTimeOut,
|
||
[out] PMETADATA_HANDLE phMDNewHandle);
|
||
|
||
HRESULT CloseKey([in] METADATA_HANDLE hMDHandle);
|
||
|
||
HRESULT ChangePermissions([in] METADATA_HANDLE hMDHandle,
|
||
[in] DWORD dwMDTimeOut,
|
||
[in] DWORD dwMDAccessRequested);
|
||
|
||
HRESULT SaveData();
|
||
|
||
HRESULT GetHandleInfo([in] METADATA_HANDLE hMDHandle,
|
||
[out] PMETADATA_HANDLE_INFO pmdhiInfo);
|
||
|
||
HRESULT GetSystemChangeNumber([out] DWORD *pdwSystemChangeNumber);
|
||
|
||
HRESULT GetDataSetNumber([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[out] DWORD *pdwMDDataSetNumber);
|
||
|
||
HRESULT SetLastChangeTime([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[in] PFILETIME pftMDLastChangeTime,
|
||
[in] BOOL bLocalTime);
|
||
|
||
HRESULT GetLastChangeTime([in] METADATA_HANDLE hMDHandle,
|
||
[unique, in, string] unsigned char *pszMDPath,
|
||
[out] PFILETIME pftMDLastChangeTime,
|
||
[in] BOOL bLocalTime);
|
||
|
||
[local, restricted]
|
||
HRESULT KeyExchangePhase1();
|
||
|
||
[local, restricted]
|
||
HRESULT KeyExchangePhase2();
|
||
|
||
[call_as(KeyExchangePhase1)]
|
||
HRESULT R_KeyExchangePhase1(
|
||
[unique, in] struct _IIS_CRYPTO_BLOB *pClientKeyExchangeKeyBlob,
|
||
[unique, in] struct _IIS_CRYPTO_BLOB *pClientSignatureKeyBlob,
|
||
[out] struct _IIS_CRYPTO_BLOB **ppServerKeyExchangeKeyBlob,
|
||
[out] struct _IIS_CRYPTO_BLOB **ppServerSignatureKeyBlob,
|
||
[out] struct _IIS_CRYPTO_BLOB **ppServerSessionKeyBlob
|
||
);
|
||
|
||
[call_as(KeyExchangePhase2)]
|
||
HRESULT R_KeyExchangePhase2(
|
||
[unique, in] struct _IIS_CRYPTO_BLOB *pClientSessionKeyBlob,
|
||
[unique, in] struct _IIS_CRYPTO_BLOB *pClientHashBlob,
|
||
[out] struct _IIS_CRYPTO_BLOB **ppServerHashBlob
|
||
);
|
||
HRESULT UnmarshallMe(
|
||
[out] IMSAdminBaseA **pMe
|
||
);
|
||
|
||
};
|
||
|
||
|
||
//
|
||
// IID_IMSAdminBaseSink_A
|
||
//
|
||
|
||
[
|
||
object,
|
||
uuid(1E056350-761E-11d0-9BA1-00A0C922E703),
|
||
pointer_default(unique)
|
||
]
|
||
|
||
interface IMSAdminBaseSinkA:IUnknown
|
||
{
|
||
HRESULT SinkNotify(
|
||
[in] DWORD dwMDNumElements,
|
||
[in, size_is(dwMDNumElements)] MD_CHANGE_OBJECT_A pcoChangeList[]);
|
||
}
|
||
|
||
cpp_quote("#endif")
|
||
|
||
|