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.

233 lines
7.6 KiB

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