// 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; }; };