2025-04-27 07:49:33 -04:00

264 lines
12 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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")