Leaked source code of windows server 2003
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.

195 lines
7.8 KiB

  1. // CertObj.idl : IDL source for CertObj.dll
  2. //
  3. // This file will be processed by the MIDL tool to
  4. // produce the type library (CertObj.tlb) and marshalling code.
  5. import "oaidl.idl";
  6. import "ocidl.idl";
  7. [
  8. object,
  9. uuid(BD0C73BC-805B-4043-9C30-9A28D64DD7D2),
  10. dual,
  11. helpstring("IIISCertObj Interface"),
  12. pointer_default(unique)
  13. ]
  14. interface IIISCertObj : IDispatch
  15. {
  16. [propput, id(1), helpstring("property ServerName")]
  17. HRESULT ServerName([in] BSTR newVal);
  18. [propput, id(2), helpstring("property UserName")]
  19. HRESULT UserName([in] BSTR newVal);
  20. [propput, id(3), helpstring("property UserPassword")]
  21. HRESULT UserPassword([in] BSTR newVal);
  22. [propput, id(4), helpstring("property InstanceName")]
  23. HRESULT InstanceName([in] BSTR newVal);
  24. [id(5), local, helpstring("method IsInstalled")]
  25. HRESULT IsInstalled([out, retval] VARIANT_BOOL * retval);
  26. [id(6), hidden, helpstring("method IsInstalledRemote")]
  27. HRESULT IsInstalledRemote([out, retval] VARIANT_BOOL * retval);
  28. [id(7), local, helpstring("method IsExportable")]
  29. HRESULT IsExportable([out, retval] VARIANT_BOOL * retval);
  30. [id(8), hidden, helpstring("method IsExportableRemote")]
  31. HRESULT IsExportableRemote([out, retval] VARIANT_BOOL * retval);
  32. [id(9), local, helpstring("method GetCertInfo")]
  33. HRESULT GetCertInfo([out,retval] VARIANT * BinaryVariant);
  34. [id(10), hidden, helpstring("method GetCertInfoRemote")]
  35. HRESULT GetCertInfoRemote([out,retval] VARIANT * BinaryVariant);
  36. [id(11), local, helpstring("method Copy")]
  37. HRESULT Copy(
  38. [in] VARIANT_BOOL bAllowExport,
  39. [in] VARIANT_BOOL bOverWriteExisting,
  40. [in] BSTR bstrDestinationServerName,
  41. [in] BSTR bstrDestinationServerInstance,
  42. [in,optional] VARIANT bstrDestinationServerUserName,
  43. [in,optional] VARIANT bstrDestinationServerPassword);
  44. [id(12), local, helpstring("method Move")]
  45. HRESULT Move(
  46. [in] VARIANT_BOOL bAllowExport,
  47. [in] VARIANT_BOOL bOverWriteExisting,
  48. [in] BSTR bstrDestinationServerName,
  49. [in] BSTR bstrDestinationServerInstance,
  50. [in,optional] VARIANT bstrDestinationServerUserName,
  51. [in,optional] VARIANT bstrDestinationServerPassword);
  52. [id(13), local, helpstring("method RemoveCert")]
  53. HRESULT RemoveCert([in] VARIANT_BOOL bRemoveFromCertStore, [in] VARIANT_BOOL bPrivateKey);
  54. [id(14), local, helpstring("method Import")]
  55. HRESULT Import(
  56. [in] BSTR FileName,
  57. [in] BSTR Password,
  58. [in] VARIANT_BOOL bAllowExport,
  59. [in] VARIANT_BOOL bOverWriteExisting);
  60. [id(15), local, helpstring("method ImportToCertStore")]
  61. HRESULT ImportToCertStore(
  62. [in] BSTR FileName,
  63. [in] BSTR Password,
  64. [in] VARIANT_BOOL bAllowExport,
  65. [in] VARIANT_BOOL bOverWriteExisting,
  66. [out,retval] VARIANT * BinaryVariant
  67. );
  68. [id(16), hidden, helpstring("method ImportFromBlob")]
  69. HRESULT ImportFromBlob(
  70. [in] BSTR InstanceName, [in] BSTR Password,
  71. [in] VARIANT_BOOL bInstallToMetabase,
  72. [in] VARIANT_BOOL bAllowExport,
  73. [in] VARIANT_BOOL bOverWriteExisting,
  74. [in] DWORD pcbSize,
  75. [in,string,size_is(pcbSize)] char * pBlobBinary
  76. );
  77. [id(17), hidden, helpstring("method ImportFromBlob")]
  78. HRESULT ImportFromBlobGetHash(
  79. [in] BSTR InstanceName, [in] BSTR Password,
  80. [in] VARIANT_BOOL bInstallToMetabase,
  81. [in] VARIANT_BOOL bAllowExport,
  82. [in] VARIANT_BOOL bOverWriteExisting,
  83. [in] DWORD pcbSize,
  84. [in,string,size_is(pcbSize)] char * pBlobBinary,
  85. [out] DWORD *pcbCertHashSize,
  86. [out] char ** pCertHash
  87. );
  88. [id(18), local, helpstring("method Export")]
  89. HRESULT Export(
  90. [in] BSTR FileName,
  91. [in] BSTR Password,
  92. [in] VARIANT_BOOL bPrivateKey,
  93. [in] VARIANT_BOOL bCertChain,
  94. [in] VARIANT_BOOL bRemoveCert);
  95. [id(19), hidden, helpstring("method ExportToBlob")]
  96. HRESULT ExportToBlob(
  97. [in] BSTR InstanceName,
  98. [in] BSTR Password,
  99. [in] VARIANT_BOOL bPrivateKey,
  100. [in] VARIANT_BOOL bCertChain,
  101. [in,out] DWORD *pcbSize,
  102. [in,out,string] char ** pBlobBinary);
  103. };
  104. #ifdef USE_CERT_REQUEST_OBJECT
  105. [
  106. object,
  107. uuid(1200D816-D200-4DB9-AE2C-AFBAFEA5BCEA),
  108. dual,
  109. helpstring("IIISCertRequest Interface"),
  110. pointer_default(unique)
  111. ]
  112. interface IIISCertRequest : IDispatch
  113. {
  114. [propput, id(1), helpstring("property ServerName")] HRESULT ServerName([in] BSTR newVal);
  115. [propput, id(2), helpstring("property UserName")] HRESULT UserName([in] BSTR newVal);
  116. [propput, id(3), helpstring("property UserPassword")] HRESULT UserPassword([in] BSTR newVal);
  117. [propput, id(4), helpstring("property InstanceName")] HRESULT InstanceName([in] BSTR newVal);
  118. [propget, id(5), helpstring("property Info_CommonName")] HRESULT Info_CommonName([out, retval] BSTR *pVal);
  119. [propput, id(5), helpstring("property Info_CommonName")] HRESULT Info_CommonName([in] BSTR newVal);
  120. [propget, id(6), helpstring("property Info_FriendlyName")] HRESULT Info_FriendlyName([out, retval] BSTR *pVal);
  121. [propput, id(6), helpstring("property Info_FriendlyName")] HRESULT Info_FriendlyName([in] BSTR newVal);
  122. [propget, id(7), helpstring("property Info_Country")] HRESULT Info_Country([out, retval] BSTR *pVal);
  123. [propput, id(7), helpstring("property Info_Country")] HRESULT Info_Country([in] BSTR newVal);
  124. [propget, id(8), helpstring("property Info_State")] HRESULT Info_State([out, retval] BSTR *pVal);
  125. [propput, id(8), helpstring("property Info_State")] HRESULT Info_State([in] BSTR newVal);
  126. [propget, id(9), helpstring("property Info_Locality")] HRESULT Info_Locality([out, retval] BSTR *pVal);
  127. [propput, id(9), helpstring("property Info_Locality")] HRESULT Info_Locality([in] BSTR newVal);
  128. [propget, id(10), helpstring("property Info_Organization")] HRESULT Info_Organization([out, retval] BSTR *pVal);
  129. [propput, id(10), helpstring("property Info_Organization")] HRESULT Info_Organization([in] BSTR newVal);
  130. [propget, id(11), helpstring("property Info_OrganizationUnit")] HRESULT Info_OrganizationUnit([out, retval] BSTR *pVal);
  131. [propput, id(11), helpstring("property Info_OrganizationUnit")] HRESULT Info_OrganizationUnit([in] BSTR newVal);
  132. [propget, id(12), helpstring("property Info_CAName")] HRESULT Info_CAName([out, retval] BSTR *pVal);
  133. [propput, id(12), helpstring("property Info_CAName")] HRESULT Info_CAName([in] BSTR newVal);
  134. [propget, id(13), helpstring("property Info_ExpirationDate")] HRESULT Info_ExpirationDate([out, retval] BSTR *pVal);
  135. [propput, id(13), helpstring("property Info_ExpirationDate")] HRESULT Info_ExpirationDate([in] BSTR newVal);
  136. [propget, id(14), helpstring("property Info_Usage")] HRESULT Info_Usage([out, retval] BSTR *pVal);
  137. [propput, id(14), helpstring("property Info_Usage")] HRESULT Info_Usage([in] BSTR newVal);
  138. [propget, id(15), helpstring("property Info_AltSubject")] HRESULT Info_AltSubject([out, retval] BSTR *pVal);
  139. [propput, id(15), helpstring("property Info_AltSubject")] HRESULT Info_AltSubject([in] BSTR newVal);
  140. [id(16), helpstring("method SubmitRequest")] HRESULT SubmitRequest();
  141. [propget, id(17), helpstring("property DispositionMessage")] HRESULT DispositionMessage([out, retval] BSTR *pVal);
  142. [propput, id(17), helpstring("property DispositionMessage")] HRESULT DispositionMessage([in] BSTR newVal);
  143. [id(18), helpstring("method SaveRequestToFile")] HRESULT SaveRequestToFile();
  144. [id(19), helpstring("method Info_Dump")] HRESULT Info_Dump();
  145. };
  146. #endif
  147. [
  148. uuid(939CE595-0BB3-4F3F-A504-8CE81BDF4943),
  149. version(1.0),
  150. helpstring("IIS CertObj 1.0 Type Library")
  151. ]
  152. library CERTOBJLib
  153. {
  154. importlib("stdole2.tlb");
  155. [
  156. uuid(62B8CCBE-5A45-4372-8C4A-6A87DD3EDD60),
  157. helpstring("IIS CertObj")
  158. ]
  159. coclass IISCertObj
  160. {
  161. [default] interface IIISCertObj;
  162. };
  163. #ifdef USE_CERT_REQUEST_OBJECT
  164. [
  165. uuid(2B024027-594E-4D11-88EE-15F5AE28AC61),
  166. helpstring("IIS CertRequest")
  167. ]
  168. coclass IISCertRequest
  169. {
  170. [default] interface IIISCertRequest;
  171. };
  172. #endif
  173. };