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.
404 lines
17 KiB
404 lines
17 KiB
|
|
cpp_quote("/*++")
|
|
cpp_quote(" ")
|
|
cpp_quote("Copyright (c) 1997-1999 Microsoft Corporation")
|
|
cpp_quote(" ")
|
|
cpp_quote("Module Name: iadmw.h")
|
|
cpp_quote(" ")
|
|
cpp_quote(" Admin Objects Interfaces")
|
|
cpp_quote(" ")
|
|
cpp_quote ("--*/")
|
|
cpp_quote("#ifndef _ADM_IADMW_")
|
|
cpp_quote("#define _ADM_IADMW_")
|
|
|
|
import "mddefw.idl";
|
|
|
|
import "unknwn.idl";
|
|
import "wtypes.idl";
|
|
import "objidl.idl";
|
|
import "ocidl.idl";
|
|
import "iiscblob.h"; // Removed by POSTMIDL.SCR after IADMW.H is generated!
|
|
|
|
cpp_quote("#include <mdcommsg.h>")
|
|
cpp_quote("#include <mdmsg.h>")
|
|
|
|
cpp_quote("/* ")
|
|
cpp_quote(" Error Codes ")
|
|
cpp_quote(" ")
|
|
cpp_quote(" Admin api's all return HRESULTS. Since internal results are either ")
|
|
cpp_quote(" winerrors or Metadata specific return codes (see mdmsg.h), they are ")
|
|
cpp_quote(" converted to HRESULTS using the RETURNCODETOHRESULT macro (see ")
|
|
cpp_quote(" commsg.h). ")
|
|
cpp_quote("*/ ")
|
|
|
|
cpp_quote(" ")
|
|
|
|
|
|
cpp_quote("/* ")
|
|
cpp_quote(" Max Name Length ")
|
|
cpp_quote(" The maximum number of characters in the length of a metaobject name, ")
|
|
cpp_quote(" including the terminating NULL. This refers to each node in the tree, ")
|
|
cpp_quote(" not the entire path. ")
|
|
cpp_quote(" eg. strlen(\"Root\") < ADMINDATA_MAX_NAME_LEN ")
|
|
cpp_quote("*/ ")
|
|
|
|
#define ADMINDATA_MAX_NAME_LEN 256
|
|
cpp_quote("#define ADMINDATA_MAX_NAME_LEN 256")
|
|
|
|
cpp_quote(" ")
|
|
cpp_quote("#define CLSID_MSAdminBase CLSID_MSAdminBase_W ")
|
|
cpp_quote("#define IID_IMSAdminBase IID_IMSAdminBase_W ")
|
|
cpp_quote("#define IMSAdminBase IMSAdminBaseW ")
|
|
cpp_quote("#define IID_IMSAdminBase2 IID_IMSAdminBase2_W ")
|
|
cpp_quote("#define IMSAdminBase2 IMSAdminBase2W ")
|
|
cpp_quote("#define IID_IMSAdminBase3 IID_IMSAdminBase3_W ")
|
|
cpp_quote("#define IMSAdminBase3 IMSAdminBase3W ")
|
|
cpp_quote("#define IMSAdminBaseSink IMSAdminBaseSinkW ")
|
|
cpp_quote("#define IID_IMSAdminBaseSink IID_IMSAdminBaseSink_W ")
|
|
cpp_quote("#define IMSImpExpHelp IMSImpExpHelpW ")
|
|
cpp_quote("#define IID_IMSImpExpHelp IID_IMSImpExpHelp_W ")
|
|
cpp_quote("#define GETAdminBaseCLSID GETAdminBaseCLSIDW ")
|
|
cpp_quote(" ")
|
|
|
|
cpp_quote("#define AsyncIMSAdminBaseSink AsyncIMSAdminBaseSinkW ")
|
|
cpp_quote("#define IID_AsyncIMSAdminBaseSink IID_AsyncIMSAdminBaseSink_W ")
|
|
|
|
|
|
cpp_quote("DEFINE_GUID(CLSID_MSAdminBase_W, 0xa9e69610, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);")
|
|
cpp_quote("DEFINE_GUID(IID_IMSAdminBase_W, 0x70b51430, 0xb6ca, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);")
|
|
|
|
cpp_quote("DEFINE_GUID(IID_IMSAdminBase2_W, 0x8298d101, 0xf992, 0x43b7, 0x8e, 0xca, 0x50, 0x52, 0xd8, 0x85, 0xb9, 0x95);")
|
|
|
|
cpp_quote("DEFINE_GUID(IID_IMSAdminBase3_W, 0xf612954d, 0x3b0b, 0x4c56, 0x95, 0x63, 0x22, 0x7b, 0x7b, 0xe6, 0x24, 0xb4);")
|
|
|
|
cpp_quote("DEFINE_GUID(IID_IMSImpExpHelp_W, 0x29ff67ff, 0x8050, 0x480f, 0x9f, 0x30, 0xcc, 0x41, 0x63, 0x5f, 0x2f, 0x9d);")
|
|
|
|
cpp_quote("DEFINE_GUID(IID_IMSAdminBaseSink_W, 0xa9e69612, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);")
|
|
cpp_quote("DEFINE_GUID(IID_AsyncIMSAdminBaseSink_W, 0xa9e69613, 0xb80d, 0x11d0, 0xb9, 0xb9, 0x0, 0xa0, 0xc9, 0x22, 0xe7, 0x50);")
|
|
|
|
cpp_quote("DEFINE_GUID(IID_IMSAdminBaseSinkNoAsyncCallback, 0x41704d5c, 0x75a0, 0x4d0e, 0xae, 0x3f, 0x80, 0xa5, 0xfc, 0x4c, 0xf6, 0x53);")
|
|
|
|
cpp_quote("#define GETAdminBaseCLSIDW(IsService) CLSID_MSAdminBase_W")
|
|
|
|
cpp_quote("/* ")
|
|
cpp_quote("The Main Interface, UNICODE ")
|
|
cpp_quote("*/ ")
|
|
|
|
[
|
|
object,
|
|
uuid(70B51430-B6CA-11d0-B9B9-00A0C922E750),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IMSAdminBaseW : IUnknown {
|
|
|
|
// Interfaces
|
|
|
|
HRESULT AddKey([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath);
|
|
|
|
HRESULT DeleteKey([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath);
|
|
|
|
HRESULT DeleteChildKeys([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath);
|
|
|
|
HRESULT EnumKeys([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[out, size_is(ADMINDATA_MAX_NAME_LEN)] LPWSTR pszMDName,
|
|
[in] DWORD dwMDEnumObjectIndex);
|
|
|
|
HRESULT CopyKey([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 RenameKey([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[unique, in, string] LPCWSTR pszMDNewName);
|
|
|
|
[local]
|
|
HRESULT SetData([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in] PMETADATA_RECORD pmdrMDData);
|
|
|
|
[call_as(SetData)]
|
|
HRESULT R_SetData([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in] PMETADATA_RECORD pmdrMDData);
|
|
|
|
[local]
|
|
HRESULT GetData([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in, out] PMETADATA_RECORD pmdrMDData,
|
|
[out] DWORD *pdwMDRequiredDataLen);
|
|
|
|
[call_as(GetData)]
|
|
HRESULT R_GetData([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in, out] PMETADATA_RECORD pmdrMDData,
|
|
[out] DWORD *pdwMDRequiredDataLen,
|
|
[out] struct _IIS_CRYPTO_BLOB **ppDataBlob);
|
|
|
|
HRESULT DeleteData([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in] DWORD dwMDIdentifier,
|
|
[in] DWORD dwMDDataType);
|
|
|
|
[local]
|
|
HRESULT EnumData([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR 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] LPCWSTR 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] 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 *pbMDBuffer,
|
|
[out] DWORD *pdwMDRequiredBufferSize);
|
|
|
|
[call_as(GetAllData)]
|
|
HRESULT R_GetAllData([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] DWORD *pdwMDRequiredBufferSize,
|
|
[out] struct _IIS_CRYPTO_BLOB **ppDataBlob);
|
|
|
|
HRESULT DeleteAllData([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in] DWORD dwMDUserType,
|
|
[in] DWORD dwMDDataType);
|
|
|
|
HRESULT CopyData([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 GetDataPaths([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in] DWORD dwMDIdentifier,
|
|
[in] DWORD dwMDDataType,
|
|
[in] DWORD dwMDBufferSize,
|
|
[out, size_is(dwMDBufferSize)] WCHAR *pszBuffer,
|
|
[out] DWORD *pdwMDRequiredBufferSize);
|
|
|
|
HRESULT OpenKey([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR 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] LPCWSTR pszMDPath,
|
|
[out] DWORD *pdwMDDataSetNumber);
|
|
|
|
HRESULT SetLastChangeTime([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in] PFILETIME pftMDLastChangeTime,
|
|
[in] BOOL bLocalTime);
|
|
|
|
HRESULT GetLastChangeTime([in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR 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 Backup(
|
|
[unique, in, string] LPCWSTR pszMDBackupLocation,
|
|
[in] DWORD dwMDVersion,
|
|
[in] DWORD dwMDFlags);
|
|
|
|
HRESULT Restore(
|
|
[unique, in, string] LPCWSTR pszMDBackupLocation,
|
|
[in] DWORD dwMDVersion,
|
|
[in] DWORD dwMDFlags);
|
|
|
|
HRESULT EnumBackups(
|
|
[in, out, size_is(ADMINDATA_MAX_NAME_LEN)] LPWSTR pszMDBackupLocation,
|
|
[out] DWORD *pdwMDVersion,
|
|
[out] PFILETIME pftMDBackupTime,
|
|
[in] DWORD dwMDEnumIndex);
|
|
|
|
HRESULT DeleteBackup(
|
|
[unique, in, string] LPCWSTR pszMDBackupLocation,
|
|
[in] DWORD dwMDVersion);
|
|
|
|
HRESULT UnmarshalInterface(
|
|
[out] IMSAdminBaseW **piadmbwInterface
|
|
);
|
|
|
|
[local, restricted]
|
|
HRESULT GetServerGuid();
|
|
|
|
[call_as(GetServerGuid)]
|
|
HRESULT R_GetServerGuid(
|
|
[out] GUID *pServerGuid
|
|
);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(8298d101-f992-43b7-8eca-5052d885b995),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IMSAdminBase2W : IMSAdminBaseW {
|
|
|
|
// Interfaces
|
|
|
|
HRESULT BackupWithPasswd(
|
|
[unique, in, string] LPCWSTR pszMDBackupLocation,
|
|
[in] DWORD dwMDVersion,
|
|
[in] DWORD dwMDFlags,
|
|
[unique, in, string] LPCWSTR pszPasswd);
|
|
|
|
HRESULT RestoreWithPasswd(
|
|
[unique, in, string] LPCWSTR pszMDBackupLocation,
|
|
[in] DWORD dwMDVersion,
|
|
[in] DWORD dwMDFlags,
|
|
[unique, in, string] LPCWSTR pszPasswd);
|
|
|
|
HRESULT Export(
|
|
[unique, in, string] LPCWSTR pszPasswd,
|
|
[unique, in, string] LPCWSTR pszFileName,
|
|
[unique, in, string] LPCWSTR pszSourcePath,
|
|
[in] DWORD dwMDFlags);
|
|
|
|
HRESULT Import(
|
|
[unique, in, string] LPCWSTR pszPasswd,
|
|
[unique, in, string] LPCWSTR pszFileName,
|
|
[unique, in, string] LPCWSTR pszSourcePath,
|
|
[unique, in, string] LPCWSTR pszDestPath,
|
|
[in] DWORD dwMDFlags);
|
|
|
|
HRESULT RestoreHistory(
|
|
[unique, in, string] LPCWSTR pszMDHistoryLocation,
|
|
[in] DWORD dwMDMajorVersion,
|
|
[in] DWORD dwMDMinorVersion,
|
|
[in] DWORD dwMDFlags);
|
|
|
|
HRESULT EnumHistory(
|
|
[in, out, size_is(ADMINDATA_MAX_NAME_LEN)] LPWSTR pszMDHistoryLocation,
|
|
[out] DWORD *pdwMDMajorVersion,
|
|
[out] DWORD *pdwMDMinorVersion,
|
|
[out] PFILETIME pftMDHistoryTime,
|
|
[in] DWORD dwMDEnumIndex);
|
|
};
|
|
|
|
[
|
|
object,
|
|
uuid(f612954d-3b0b-4c56-9563-227b7be624b4),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IMSAdminBase3W : IMSAdminBase2W {
|
|
|
|
HRESULT GetChildPaths(
|
|
[in] METADATA_HANDLE hMDHandle,
|
|
[unique, in, string] LPCWSTR pszMDPath,
|
|
[in] DWORD cchMDBufferSize,
|
|
[in, out, unique, size_is(cchMDBufferSize)] WCHAR *pszBuffer,
|
|
[in, out, unique] DWORD *pcchMDRequiredBufferSize);
|
|
};
|
|
|
|
//
|
|
// IID_IMSImpExpHelp_W
|
|
//
|
|
|
|
[
|
|
object,
|
|
uuid(29FF67FF-8050-480f-9F30-CC41635F2F9D),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IMSImpExpHelpW:IUnknown
|
|
{
|
|
HRESULT EnumeratePathsInFile (
|
|
[unique, in, string] LPCWSTR pszFileName,
|
|
[unique, in, string] LPCWSTR pszKeyType,
|
|
[in] DWORD dwMDBufferSize,
|
|
[in, out, unique, size_is(dwMDBufferSize)] WCHAR *pszBuffer,
|
|
[out] DWORD *pdwMDRequiredBufferSize);
|
|
}
|
|
|
|
//
|
|
// IID_IMSAdminBaseSink_W
|
|
//
|
|
|
|
[
|
|
object,
|
|
uuid(A9E69612-B80D-11d0-B9B9-00A0C922E750),
|
|
async_uuid(A9E69613-B80D-11d0-B9B9-00A0C922E750),
|
|
pointer_default(unique)
|
|
]
|
|
|
|
interface IMSAdminBaseSinkW:IUnknown
|
|
{
|
|
HRESULT SinkNotify(
|
|
[in] DWORD dwMDNumElements,
|
|
[in, size_is(dwMDNumElements)] MD_CHANGE_OBJECT_W pcoChangeList[]);
|
|
|
|
HRESULT ShutdownNotify();
|
|
}
|
|
|
|
cpp_quote("#endif")
|