windows-nt/Source/XPSP1/NT/inetsrv/iis/admin/certobj/certobj.idl
2020-09-26 16:20:57 +08:00

143 lines
4.1 KiB
Plaintext

// CertObj.idl : IDL source for CertObj.dll
//
// This file will be processed by the MIDL tool to
// produce the type library (CertObj.tlb) and marshalling code.
import "oaidl.idl";
import "ocidl.idl";
[
object,
uuid(BD0C73BC-805B-4043-9C30-9A28D64DD7D2),
dual,
helpstring("IIISCertObj Interface"),
pointer_default(unique)
]
interface IIISCertObj : IDispatch
{
[propput, id(1), helpstring("property ServerName")]
HRESULT ServerName([in] BSTR newVal);
[propput, id(2), helpstring("property UserName")]
HRESULT UserName([in] BSTR newVal);
[propput, id(3), helpstring("property UserPassword")]
HRESULT UserPassword([in] BSTR newVal);
[propput, id(4), helpstring("property InstanceName")]
HRESULT InstanceName([in] BSTR newVal);
[id(5), local, helpstring("method IsInstalled")]
HRESULT IsInstalled([out, retval] VARIANT_BOOL * retval);
[id(6), hidden, helpstring("method IsInstalledRemote")]
HRESULT IsInstalledRemote([out, retval] VARIANT_BOOL * retval);
[id(7), local, helpstring("method IsExportable")]
HRESULT IsExportable([out, retval] VARIANT_BOOL * retval);
[id(8), hidden, helpstring("method IsExportableRemote")]
HRESULT IsExportableRemote([out, retval] VARIANT_BOOL * retval);
[id(9), local, helpstring("method GetCertInfo")]
HRESULT GetCertInfo([out,retval] VARIANT * BinaryVariant);
[id(10), hidden, helpstring("method GetCertInfoRemote")]
HRESULT GetCertInfoRemote([out,retval] VARIANT * BinaryVariant);
[id(11), local, helpstring("method Copy")]
HRESULT Copy(
[in] BOOL bAllowExport,
[in] BSTR bstrDestinationServerName,
[in] BSTR bstrDestinationServerInstance,
[in,optional] VARIANT bstrDestinationServerUserName,
[in,optional] VARIANT bstrDestinationServerPassword);
[id(12), local, helpstring("method CopyToCertStore")]
HRESULT CopyToCertStore(
[in] BOOL bAllowExport,
[in] BSTR bstrDestinationServerName,
[in] VARIANT bstrDestinationServerUserName,
[in] VARIANT bstrDestinationServerPassword,
[out] VARIANT * BinaryVariant);
[id(13), local, helpstring("method Move")]
HRESULT Move(
[in] BOOL bAllowExport,
[in] BSTR bstrDestinationServerName,
[in] BSTR bstrDestinationServerInstance,
[in,optional] VARIANT bstrDestinationServerUserName,
[in,optional] VARIANT bstrDestinationServerPassword);
[id(14), local, helpstring("method RemoveCert")]
HRESULT RemoveCert([in] BOOL bPrivateKey);
[id(15), local, helpstring("method Import")]
HRESULT Import(
[in] BSTR FileName,
[in] BSTR Password,
[in] BOOL bAllowExport);
[id(16), local, helpstring("method ImportToCertStore")]
HRESULT ImportToCertStore(
[in] BSTR FileName,
[in] BSTR Password,
[in] BOOL bAllowExport,
[out,retval] VARIANT * BinaryVariant
);
[id(17), hidden, helpstring("method ImportFromBlob")]
HRESULT ImportFromBlob(
[in] BSTR InstanceName, [in] BSTR Password,
[in] BOOL bInstallToMetabase,
[in] BOOL bAllowExport,
[in] DWORD pcbSize,
[in,string,size_is(pcbSize)] char * pBlobBinary
);
[id(18), hidden, helpstring("method ImportFromBlob")]
HRESULT ImportFromBlobGetHash(
[in] BSTR InstanceName, [in] BSTR Password,
[in] BOOL bInstallToMetabase,
[in] BOOL bAllowExport,
[in] DWORD pcbSize,
[in,string,size_is(pcbSize)] char * pBlobBinary,
[out] DWORD *pcbCertHashSize,
[out] char ** pCertHash
);
[id(19), local, helpstring("method Export")]
HRESULT Export(
[in] BSTR FileName,
[in] BSTR Password,
[in] BOOL bPrivateKey,
[in] BOOL bCertChain,
[in] BOOL bRemoveCert);
[id(20), hidden, helpstring("method ExportToBlob")]
HRESULT ExportToBlob(
[in] BSTR InstanceName,
[in] BSTR Password,
[in] BOOL bPrivateKey,
[in] BOOL bCertChain,
[in,out] DWORD *pcbSize,
[in,out,string] char ** pBlobBinary);
};
[
uuid(939CE595-0BB3-4F3F-A504-8CE81BDF4943),
version(1.0),
helpstring("IIS CertObj 1.0 Type Library")
]
library CERTOBJLib
{
importlib("stdole2.tlb");
[
uuid(62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60),
helpstring("IIS CertObj")
]
coclass IISCertObj
{
[default] interface IIISCertObj;
};
};