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

cpp_quote("/*******************************************************************************/" )
cpp_quote("/* */" )
cpp_quote("/* Copyright © Microsoft Corporation. All rights reserved. */" )
cpp_quote("/* */" )
/* WBEMTRAN.IDL */
/* */
cpp_quote("/* This IDL file contains interfaces needed only by implementors of custom */" )
cpp_quote("/* transports and custom security systems. These interfaces are not needed */" )
cpp_quote("/* for either client or provider access to CIMOM. */" )
cpp_quote("/* */" )
cpp_quote("/* See WBEMCLI.IDL for client interfaces, and WBEMPROV.IDL for provider */" )
cpp_quote("/* extensions */" )
cpp_quote("/* */" )
cpp_quote("/*******************************************************************************/" )
import "objidl.idl";
import "oleidl.idl";
import "oaidl.idl";
import "wbemcli.idl";
#define OPTIONAL in, unique
[uuid(027947f3-d731-11ce-a357-000000000001)]
library WbemTransports_v1
{
interface IWbemTransport;
interface IWbemLevel1Login;
interface IWbemConnectorLogin;
interface IWbemAddressResolution;
typedef enum tag_WBEM_LOGIN_TYPE
{
WBEM_FLAG_INPROC_LOGIN = 0,
WBEM_FLAG_LOCAL_LOGIN = 1,
WBEM_FLAG_REMOTE_LOGIN = 2,
WBEM_AUTHENTICATION_METHOD_MASK = 0xF,
WBEM_FLAG_USE_MULTIPLE_CHALLENGES = 0x10,
} WBEM_LOGIN_TYPE;
typedef [size_is(16), length_is(16)] BYTE* WBEM_128BITS;
[restricted, uuid(8BC3F05E-D86B-11d0-A075-00C04FB68820)]
coclass WbemLevel1Login
{
interface IWbemLevel1Login;
interface IWbemConnectorLogin;
};
[restricted, uuid(A1044801-8F7E-11d1-9E7C-00C04FC324A8)]
coclass WbemLocalAddrRes
{
interface IWbemAddressResolution;
};
[restricted, uuid(7a0227f6-7108-11d1-ad90-00c04fd8fdff)]
coclass WbemUninitializedClassObject
{
interface IWbemClassObject;
interface IWbemObjectAccess;
interface IWbemConstructClassObject;
};
interface IWbemClientTransport;
interface IWbemClientConnectionTransport;
[restricted, uuid(F7CE2E13-8C90-11d1-9E7B-00C04FC324A8)]
coclass WbemDCOMTransport
{
interface IWbemClientTransport;
interface IWbemClientConnectionTransport;
};
};
[object, restricted, uuid(F309AD18-D86A-11d0-A075-00C04FB68820),
pointer_default(unique)]
interface IWbemLevel1Login : IUnknown
{
HRESULT EstablishPosition(
[in, unique, string] LPWSTR wszClientMachineName,
[in] DWORD dwProcessId,
[out] DWORD* phAuthEventHandle);
// WBEM portion
HRESULT RequestChallenge(
[in, unique, string] LPWSTR wszNetworkResource,
[in, unique, string] LPWSTR wszUser,
[out] WBEM_128BITS Nonce
);
HRESULT WBEMLogin(
[in, unique, string] LPWSTR wszPreferredLocale,
[in, unique] WBEM_128BITS AccessToken,
[in] long lFlags,
[in] IWbemContext* pCtx,
[out] IWbemServices** ppNamespace
);
// NTLM portion
HRESULT NTLMLogin(
[in, unique, string] LPWSTR wszNetworkResource,
[in, unique, string] LPWSTR wszPreferredLocale,
[in] long lFlags,
[in] IWbemContext* pCtx,
[out] IWbemServices** ppNamespace);
};
[object, restricted, uuid(d8ec9cb1-b135-4f10-8b1b-c7188bb0d186),
pointer_default(unique)]
interface IWbemConnectorLogin : IUnknown
{
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
);
};
[object, local, uuid(F7CE2E12-8C90-11d1-9E7B-00C04FC324A8),
restricted, pointer_default(unique)]
interface IWbemAddressResolution : IUnknown
{
HRESULT Resolve(
[in] LPWSTR wszNamespacePath,
[out] LPWSTR wszAddressType,
[out] DWORD* pdwAddressLength,
[out, size_is(,*pdwAddressLength)] BYTE** pabBinaryAddress);
};
/////////////////////////////////////////////////////////////////
//
//
[restricted, local, object, uuid(553fe584-2156-11d0-b6ae-00aa003240c7)]
interface IWbemTransport : IUnknown
{
HRESULT Initialize();
}
[restricted, local, object, uuid(9ef76194-70d5-11d1-ad90-00c04fd8fdff)]
interface IWbemConstructClassObject : IUnknown
{
HRESULT SetInheritanceChain(
[in] long lNumAntecedents,
[in, size_is(lNumAntecedents), string] LPWSTR* awszAntecedents);
HRESULT SetPropertyOrigin(
[in, string] LPCWSTR wszPropertyName,
[in] long lOriginIndex);
HRESULT SetMethodOrigin(
[in, string] LPCWSTR wszMethodName,
[in] long lOriginIndex);
HRESULT SetServerNamespace(
[in, string] LPCWSTR wszServer,
[in, string] LPCWSTR wszNamespace);
};
[object, local, uuid(F7CE2E11-8C90-11d1-9E7B-00C04FC324A8),
restricted, pointer_default(unique)]
interface IWbemClientTransport : IUnknown
{
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
);
};
[object, local, uuid(a889c72a-fcc1-4a9e-af61-ed071333fb5b),
restricted, pointer_default(unique)]
interface IWbemClientConnectionTransport : IUnknown
{
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
);
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
);
HRESULT Cancel(
[in] long lFlags,
[in] IWbemObjectSink *pHandler
);
};