Source code of Windows XP (NT5)
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.

240 lines
6.4 KiB

  1. /*++
  2. Copyright (C) 1996-2001 Microsoft Corporation
  3. Module Name:
  4. WBEMTRAN.IDL
  5. Abstract:
  6. This IDL file contains interfaces needed only by implementors of custom
  7. transports and custom security systems. These interfaces are not needed
  8. for either client or provider access to CIMOM.
  9. See WBEMCLI.IDL for client interfaces, and WBEMPROV.IDL for provider
  10. extensions.
  11. History:
  12. --*/
  13. import "objidl.idl";
  14. import "oleidl.idl";
  15. import "oaidl.idl";
  16. import "wbemcli.idl";
  17. #define OPTIONAL in, unique
  18. [uuid(027947f3-d731-11ce-a357-000000000001)]
  19. library WbemTransports_v1
  20. {
  21. interface IWbemTransport;
  22. interface IWbemLevel1Login;
  23. interface IWbemConnectorLogin;
  24. interface IWbemAddressResolution;
  25. typedef enum tag_WBEM_LOGIN_TYPE
  26. {
  27. WBEM_FLAG_INPROC_LOGIN = 0,
  28. WBEM_FLAG_LOCAL_LOGIN = 1,
  29. WBEM_FLAG_REMOTE_LOGIN = 2,
  30. WBEM_AUTHENTICATION_METHOD_MASK = 0xF,
  31. WBEM_FLAG_USE_MULTIPLE_CHALLENGES = 0x10,
  32. } WBEM_LOGIN_TYPE;
  33. typedef [size_is(16), length_is(16)] BYTE* WBEM_128BITS;
  34. [restricted, uuid(8BC3F05E-D86B-11d0-A075-00C04FB68820)]
  35. coclass WbemLevel1Login
  36. {
  37. interface IWbemLevel1Login;
  38. interface IWbemConnectorLogin;
  39. };
  40. [restricted, uuid(A1044801-8F7E-11d1-9E7C-00C04FC324A8)]
  41. coclass WbemLocalAddrRes
  42. {
  43. interface IWbemAddressResolution;
  44. };
  45. [restricted, uuid(7a0227f6-7108-11d1-ad90-00c04fd8fdff)]
  46. coclass WbemUninitializedClassObject
  47. {
  48. interface IWbemClassObject;
  49. interface IWbemObjectAccess;
  50. interface IWbemConstructClassObject;
  51. };
  52. interface IWbemClientTransport;
  53. interface IWbemClientConnectionTransport;
  54. [restricted, uuid(F7CE2E13-8C90-11d1-9E7B-00C04FC324A8)]
  55. coclass WbemDCOMTransport
  56. {
  57. interface IWbemClientTransport;
  58. interface IWbemClientConnectionTransport;
  59. };
  60. };
  61. [object, restricted, uuid(F309AD18-D86A-11d0-A075-00C04FB68820),
  62. pointer_default(unique)]
  63. interface IWbemLevel1Login : IUnknown
  64. {
  65. HRESULT EstablishPosition(
  66. [in, unique, string] LPWSTR wszClientMachineName,
  67. [in] DWORD dwProcessId,
  68. [out] DWORD* phAuthEventHandle);
  69. // WBEM portion
  70. HRESULT RequestChallenge(
  71. [in, unique, string] LPWSTR wszNetworkResource,
  72. [in, unique, string] LPWSTR wszUser,
  73. [out] WBEM_128BITS Nonce
  74. );
  75. HRESULT WBEMLogin(
  76. [in, unique, string] LPWSTR wszPreferredLocale,
  77. [in, unique] WBEM_128BITS AccessToken,
  78. [in] long lFlags,
  79. [in] IWbemContext* pCtx,
  80. [out] IWbemServices** ppNamespace
  81. );
  82. // NTLM portion
  83. HRESULT NTLMLogin(
  84. [in, unique, string] LPWSTR wszNetworkResource,
  85. [in, unique, string] LPWSTR wszPreferredLocale,
  86. [in] long lFlags,
  87. [in] IWbemContext* pCtx,
  88. [out] IWbemServices** ppNamespace);
  89. };
  90. [object, restricted, uuid(d8ec9cb1-b135-4f10-8b1b-c7188bb0d186),
  91. pointer_default(unique)]
  92. interface IWbemConnectorLogin : IUnknown
  93. {
  94. HRESULT ConnectorLogin(
  95. [in, unique, string] LPWSTR wszNetworkResource,
  96. [in, unique, string] LPWSTR wszPreferredLocale,
  97. [in] long lFlags,
  98. [in] IWbemContext* pCtx,
  99. [in] REFIID riid,
  100. [out, iid_is(riid)] void **pInterface
  101. );
  102. };
  103. [object, local, uuid(F7CE2E12-8C90-11d1-9E7B-00C04FC324A8),
  104. restricted, pointer_default(unique)]
  105. interface IWbemAddressResolution : IUnknown
  106. {
  107. HRESULT Resolve(
  108. [in] LPWSTR wszNamespacePath,
  109. [out] LPWSTR wszAddressType,
  110. [out] DWORD* pdwAddressLength,
  111. [out, size_is(,*pdwAddressLength)] BYTE** pabBinaryAddress);
  112. };
  113. /////////////////////////////////////////////////////////////////
  114. //
  115. //
  116. [restricted, local, object, uuid(553fe584-2156-11d0-b6ae-00aa003240c7)]
  117. interface IWbemTransport : IUnknown
  118. {
  119. HRESULT Initialize();
  120. }
  121. [restricted, local, object, uuid(9ef76194-70d5-11d1-ad90-00c04fd8fdff)]
  122. interface IWbemConstructClassObject : IUnknown
  123. {
  124. HRESULT SetInheritanceChain(
  125. [in] long lNumAntecedents,
  126. [in, size_is(lNumAntecedents), string] LPWSTR* awszAntecedents);
  127. HRESULT SetPropertyOrigin(
  128. [in, string] LPCWSTR wszPropertyName,
  129. [in] long lOriginIndex);
  130. HRESULT SetMethodOrigin(
  131. [in, string] LPCWSTR wszMethodName,
  132. [in] long lOriginIndex);
  133. HRESULT SetServerNamespace(
  134. [in, string] LPCWSTR wszServer,
  135. [in, string] LPCWSTR wszNamespace);
  136. };
  137. [object, local, uuid(F7CE2E11-8C90-11d1-9E7B-00C04FC324A8),
  138. restricted, pointer_default(unique)]
  139. interface IWbemClientTransport : IUnknown
  140. {
  141. HRESULT ConnectServer(
  142. [in] BSTR strAddressType,
  143. [in] DWORD dwBinaryAddressLength,
  144. [in, size_is(dwBinaryAddressLength)] BYTE* abBinaryAddress,
  145. [in] BSTR strNetworkResource,
  146. [in] BSTR strUser,
  147. [in] BSTR strPassword,
  148. [in] BSTR strLocale,
  149. [in] long lSecurityFlags,
  150. [in] BSTR strAuthority,
  151. [in] IWbemContext* pCtx,
  152. [out] IWbemServices** ppNamespace
  153. );
  154. };
  155. [object, local, uuid(a889c72a-fcc1-4a9e-af61-ed071333fb5b),
  156. restricted, pointer_default(unique)]
  157. interface IWbemClientConnectionTransport : IUnknown
  158. {
  159. HRESULT Open(
  160. [in] BSTR strAddressType,
  161. [in] DWORD dwBinaryAddressLength,
  162. [in, size_is(dwBinaryAddressLength)] BYTE* abBinaryAddress,
  163. [in] const BSTR strObject,
  164. [in] const BSTR strUser,
  165. [in] const BSTR strPassword,
  166. [in] const BSTR strLocale,
  167. [in] long lFlags,
  168. [in] IWbemContext *pCtx,
  169. [in] REFIID riid,
  170. [out, iid_is(riid)] void **pInterface,
  171. [out] IWbemCallResult **pCallRes
  172. );
  173. HRESULT OpenAsync(
  174. [in] BSTR strAddressType,
  175. [in] DWORD dwBinaryAddressLength,
  176. [in, size_is(dwBinaryAddressLength)] BYTE* abBinaryAddress,
  177. [in] const BSTR strObject,
  178. [in] const BSTR strUser,
  179. [in] const BSTR strPassword,
  180. [in] const BSTR strLocale,
  181. [in] long lFlags,
  182. [in] IWbemContext *pCtx,
  183. [in] REFIID riid,
  184. [in] IWbemObjectSink *pResponseHandler
  185. );
  186. HRESULT Cancel(
  187. [in] long lFlags,
  188. [in] IWbemObjectSink *pHandler
  189. );
  190. };