wbemtran.idl 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. cpp_quote("/**")
  2. cpp_quote(" * This file is part of the mingw-w64 runtime package.")
  3. cpp_quote(" * No warranty is given; refer to the file DISCLAIMER within this package.")
  4. cpp_quote(" */")
  5. cpp_quote("")
  6. import "objidl.idl";
  7. import "oleidl.idl";
  8. import "oaidl.idl";
  9. import "wbemcli.idl";
  10. cpp_quote("#include <winapifamily.h>")
  11. cpp_quote("")
  12. cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
  13. interface IWbemTransport;
  14. interface IWbemLevel1Login;
  15. interface IWbemConnectorLogin;
  16. interface IWbemAddressResolution;
  17. interface IWbemClientTransport;
  18. interface IWbemClientConnectionTransport;
  19. typedef enum tag_WBEM_LOGIN_TYPE {
  20. WBEM_FLAG_INPROC_LOGIN = 0,
  21. WBEM_FLAG_LOCAL_LOGIN = 1,
  22. WBEM_FLAG_REMOTE_LOGIN = 2,
  23. WBEM_AUTHENTICATION_METHOD_MASK = 0xf,
  24. WBEM_FLAG_USE_MULTIPLE_CHALLENGES = 0x10
  25. } WBEM_LOGIN_TYPE;
  26. typedef /*[size_is (16), length_is (16)]*/ BYTE *WBEM_128BITS;
  27. [uuid (027947f3-d731-11ce-a357-000000000001)]
  28. library WbemTransports_v1 {
  29. [uuid (8bc3f05e-d86b-11d0-a075-00c04fb68820)] /* restricted */
  30. coclass WbemLevel1Login {
  31. interface IWbemLevel1Login;
  32. interface IWbemConnectorLogin;
  33. };
  34. [uuid (a1044801-8f7e-11d1-9e7c-00c04fc324a8)] /* restricted */
  35. coclass WbemLocalAddrRes {
  36. interface IWbemAddressResolution;
  37. };
  38. [uuid (7a0227f6-7108-11d1-ad90-00c04fd8fdff)] /* restricted */
  39. coclass WbemUninitializedClassObject {
  40. interface IWbemClassObject;
  41. interface IWbemObjectAccess;
  42. interface IWbemConstructClassObject;
  43. };
  44. [uuid (f7ce2e13-8c90-11d1-9e7b-00c04fc324a8)] /* restricted */
  45. coclass WbemDCOMTransport {
  46. interface IWbemClientTransport;
  47. interface IWbemClientConnectionTransport;
  48. };
  49. };
  50. [object, restricted, uuid (f309ad18-d86a-11d0-a075-00c04fb68820), pointer_default (unique)]
  51. interface IWbemLevel1Login : IUnknown {
  52. HRESULT EstablishPosition ([in, unique, string] LPWSTR wszLocaleList,[in] DWORD dwNumLocales,[out] DWORD *reserved);
  53. HRESULT RequestChallenge ([in, unique, string] LPWSTR wszNetworkResource,[in, unique, string] LPWSTR wszUser,[out] WBEM_128BITS Nonce);
  54. HRESULT WBEMLogin ([in, unique, string] LPWSTR wszPreferredLocale,[in, unique] WBEM_128BITS AccessToken,[in] long lFlags,[in] IWbemContext *pCtx,[out] IWbemServices **ppNamespace);
  55. HRESULT NTLMLogin ([in, unique, string] LPWSTR wszNetworkResource,[in, unique, string] LPWSTR wszPreferredLocale,[in] long lFlags,[in] IWbemContext *pCtx,[out] IWbemServices **ppNamespace);
  56. };
  57. [object, restricted, uuid (d8ec9cb1-b135-4f10-8b1b-c7188bb0d186), pointer_default (unique)]
  58. interface IWbemConnectorLogin : IUnknown {
  59. HRESULT ConnectorLogin ([in, unique, string] LPWSTR wszNetworkResource,[in, unique, string] LPWSTR wszPreferredLocale,[in] long lFlags,[in] IWbemContext *pCtx,[in] REFIID riid,[out, iid_is (riid)] void **pInterface);
  60. };
  61. [object, local, uuid (F7CE2E12-8c90-11d1-9e7b-00c04fc324a8), restricted, pointer_default (unique)]
  62. interface IWbemAddressResolution : IUnknown {
  63. HRESULT Resolve ([in] LPWSTR wszNamespacePath,[out] LPWSTR wszAddressType,[out] DWORD *pdwAddressLength,[out, size_is (,*pdwAddressLength)] BYTE **pabBinaryAddress);
  64. };
  65. [local, object, restricted, uuid (553fe584-2156-11d0-b6ae-00aa003240c7)]
  66. interface IWbemTransport : IUnknown {
  67. HRESULT Initialize ();
  68. }
  69. [local, object, restricted, uuid (9ef76194-70d5-11d1-ad90-00c04fd8fdff)]
  70. interface IWbemConstructClassObject : IUnknown {
  71. HRESULT SetInheritanceChain ([in] long lNumAntecedents,[in, size_is (lNumAntecedents), string] LPWSTR *awszAntecedents);
  72. HRESULT SetPropertyOrigin ([in, string] LPCWSTR wszPropertyName,[in] long lOriginIndex);
  73. HRESULT SetMethodOrigin ([in, string] LPCWSTR wszMethodName,[in] long lOriginIndex);
  74. HRESULT SetServerNamespace ([in, string] LPCWSTR wszServer,[in, string] LPCWSTR wszNamespace);
  75. };
  76. [object, local, restricted, uuid (f7ce2e11-8c90-11d1-9e7b-00c04fc324a8), pointer_default (unique)]
  77. interface IWbemClientTransport : IUnknown {
  78. HRESULT ConnectServer ([in] BSTR strAddressType,[in] DWORD dwBinaryAddressLength,[in, size_is (dwBinaryAddressLength)] BYTE *abBinaryAddress,[in] BSTR strNetworkResource,[in] BSTR strUser,[in] BSTR strPassword,[in] BSTR strLocale,[in] long lSecurityFlags,[in] BSTR strAuthority,[in] IWbemContext *pCtx,[out] IWbemServices **ppNamespace);
  79. };
  80. [object, local, restricted, uuid (a889c72a-fcc1-4a9e-af61-ed071333fb5b), pointer_default (unique)]
  81. interface IWbemClientConnectionTransport : IUnknown {
  82. HRESULT Open ([in] BSTR strAddressType,[in] DWORD dwBinaryAddressLength,[in, size_is (dwBinaryAddressLength)] BYTE *abBinaryAddress,[in] const BSTR strObject,[in] const BSTR strUser,[in] const BSTR strPassword,[in] const BSTR strLocale,[in] long lFlags,[in] IWbemContext *pCtx,[in] REFIID riid,[out, iid_is (riid)] void **pInterface,[out] IWbemCallResult **pCallRes);
  83. HRESULT OpenAsync ([in] BSTR strAddressType,[in] DWORD dwBinaryAddressLength,[in, size_is (dwBinaryAddressLength)] BYTE *abBinaryAddress,[in] const BSTR strObject,[in] const BSTR strUser,[in] const BSTR strPassword,[in] const BSTR strLocale,[in] long lFlags,[in] IWbemContext *pCtx,[in] REFIID riid,[in] IWbemObjectSink *pResponseHandler);
  84. HRESULT Cancel ([in] long lFlags,[in] IWbemObjectSink *pHandler);
  85. };
  86. cpp_quote("#endif")