WbemTran.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:7k
源码类别:

模拟服务器

开发平台:

C/C++

  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.         
  26.     typedef enum tag_WBEM_LOGIN_TYPE
  27.     {
  28.         WBEM_FLAG_INPROC_LOGIN = 0,
  29.         WBEM_FLAG_LOCAL_LOGIN  = 1,
  30.         WBEM_FLAG_REMOTE_LOGIN = 2,
  31.         WBEM_AUTHENTICATION_METHOD_MASK  = 0xF,
  32.         WBEM_FLAG_USE_MULTIPLE_CHALLENGES = 0x10,
  33.     }   WBEM_LOGIN_TYPE;
  34.     typedef [size_is(16), length_is(16)] BYTE* WBEM_128BITS;
  35.     [restricted, uuid(8BC3F05E-D86B-11d0-A075-00C04FB68820)]
  36.     coclass WbemLevel1Login
  37.     {
  38.         interface IWbemLevel1Login;
  39.         interface IWbemConnectorLogin;
  40.     };
  41.     [restricted, uuid(A1044801-8F7E-11d1-9E7C-00C04FC324A8)]
  42.     coclass WbemLocalAddrRes
  43.     {
  44.         interface IWbemAddressResolution;
  45.     };
  46.     [restricted, uuid(7a0227f6-7108-11d1-ad90-00c04fd8fdff)]
  47.     coclass WbemUninitializedClassObject
  48.     {
  49.         interface IWbemClassObject;
  50.         interface IWbemObjectAccess;
  51.         interface IWbemConstructClassObject;
  52.     };
  53.     interface IWbemClientTransport;
  54.     interface IWbemClientConnectionTransport;
  55.     [restricted, uuid(F7CE2E13-8C90-11d1-9E7B-00C04FC324A8)]
  56.     coclass WbemDCOMTransport
  57.     {
  58.         interface IWbemClientTransport;
  59.         interface IWbemClientConnectionTransport;
  60.     };
  61. };
  62. [object, restricted, uuid(F309AD18-D86A-11d0-A075-00C04FB68820), 
  63. pointer_default(unique)]
  64. interface IWbemLevel1Login :  IUnknown
  65. {
  66.     HRESULT EstablishPosition(
  67.         [in, unique, string] LPWSTR wszClientMachineName,
  68.         [in] DWORD dwProcessId,
  69.         [out] DWORD* phAuthEventHandle);
  70.     // WBEM portion
  71.     HRESULT RequestChallenge(
  72.         [in, unique, string] LPWSTR wszNetworkResource,
  73.         [in, unique, string] LPWSTR wszUser,
  74.         [out] WBEM_128BITS Nonce
  75.         );
  76.     HRESULT WBEMLogin(
  77.         [in, unique, string] LPWSTR wszPreferredLocale,
  78.         [in, unique]  WBEM_128BITS AccessToken,
  79.         [in]   long lFlags,                   
  80.         [in]   IWbemContext* pCtx,              
  81.         [out]  IWbemServices** ppNamespace
  82.         );
  83.     // NTLM portion
  84.     HRESULT NTLMLogin(
  85.         [in, unique, string] LPWSTR wszNetworkResource,
  86.         [in, unique, string] LPWSTR wszPreferredLocale,
  87.         [in]   long lFlags,                   
  88.         [in]   IWbemContext* pCtx,              
  89.         [out]  IWbemServices** ppNamespace);
  90.         
  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.     
  140. [object, local, uuid(F7CE2E11-8C90-11d1-9E7B-00C04FC324A8), 
  141. restricted, pointer_default(unique)]
  142. interface IWbemClientTransport :  IUnknown
  143. {
  144.     HRESULT ConnectServer(
  145.         [in]    BSTR strAddressType,               
  146.         [in]    DWORD dwBinaryAddressLength,
  147.         [in, size_is(dwBinaryAddressLength)]    BYTE* abBinaryAddress,
  148.         [in]    BSTR strNetworkResource,               
  149.         [in]    BSTR strUser,
  150.         [in]    BSTR strPassword,
  151.         [in]    BSTR strLocale,
  152.         [in]    long lSecurityFlags,                 
  153.         [in]    BSTR strAuthority,                  
  154.         [in]    IWbemContext* pCtx,                 
  155.         [out]   IWbemServices** ppNamespace
  156.         );     
  157.         
  158. };
  159. [object, local, uuid(a889c72a-fcc1-4a9e-af61-ed071333fb5b), 
  160. restricted, pointer_default(unique)]
  161. interface IWbemClientConnectionTransport :  IUnknown
  162. {
  163.     HRESULT Open(
  164.         [in]    BSTR strAddressType,               
  165.         [in]    DWORD dwBinaryAddressLength,
  166.         [in, size_is(dwBinaryAddressLength)]    BYTE* abBinaryAddress,
  167.         [in]  const BSTR strObject,
  168.         [in]  const BSTR strUser,
  169.         [in]  const BSTR strPassword,
  170.         [in]  const BSTR strLocale,
  171.         [in]  long lFlags,
  172.         [in]  IWbemContext *pCtx,
  173.         [in]  REFIID riid,
  174.         [out, iid_is(riid)] void **pInterface,
  175.         [out] IWbemCallResult **pCallRes
  176.         );
  177.     HRESULT OpenAsync(
  178.         [in]    BSTR strAddressType,               
  179.         [in]    DWORD dwBinaryAddressLength,
  180.         [in, size_is(dwBinaryAddressLength)]    BYTE* abBinaryAddress,
  181.         [in]  const BSTR strObject,
  182.         [in]  const BSTR strUser,
  183.         [in]  const BSTR strPassword,
  184.         [in]  const BSTR strLocale,
  185.         [in]  long lFlags,
  186.         [in]  IWbemContext *pCtx,
  187.         [in]  REFIID riid,
  188.         [in]  IWbemObjectSink *pResponseHandler
  189.         );
  190.     HRESULT Cancel(
  191.         [in] long lFlags,
  192.         [in] IWbemObjectSink *pHandler
  193.         );
  194. };