Win32 API 日本語リファレンス
ホームSystem.Wmi › IWbemLevel1Login

IWbemLevel1Login

COM
IIDf309ad18-d86a-11d0-a075-00c04fb68820継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT EstablishPosition(LPWSTR wszLocaleList, DWORD dwNumLocales, DWORD* reserved)
wszLocaleListLPWSTRinクライアントが優先するロケールのカンマ区切りリストを指定する。
dwNumLocalesDWORDinロケールリストに含まれるロケールの数を指定する。
reservedDWORD*outサーバーが優先するロケールのインデックスを受け取る出力ポインタである。
vtbl 4 HRESULT RequestChallenge(LPWSTR wszNetworkResource, LPWSTR wszUser, BYTE* Nonce)
wszNetworkResourceLPWSTRin接続先の名前空間(ネットワークリソース)を指定する。
wszUserLPWSTRin認証に使用するユーザー名を指定する。
NonceBYTE*outサーバーから返されるチャレンジ用の 16 バイトのノンスを受け取るバッファである。
vtbl 5 HRESULT WBEMLogin(LPWSTR wszPreferredLocale, BYTE* AccessToken, INT lFlags, IWbemContext* pCtx, IWbemServices** ppNamespace)
wszPreferredLocaleLPWSTRin優先するロケールを指定する。不要な場合は NULL を渡せる。
AccessTokenBYTE*in認証応答を含むアクセストークンを指定する。
lFlagsINTinログイン操作の動作を制御するフラグを指定する。
pCtxIWbemContext*in呼び出しに付加するコンテキスト情報を提供する IWbemContext を指定する。不要な場合は NULL を渡せる。
ppNamespaceIWbemServices**out接続された名前空間を表す IWbemServices を受け取る出力ポインタである。
vtbl 6 HRESULT NTLMLogin(LPWSTR wszNetworkResource, LPWSTR wszPreferredLocale, INT lFlags, IWbemContext* pCtx, IWbemServices** ppNamespace)
wszNetworkResourceLPWSTRin接続先の名前空間(ネットワークリソース)を指定する。
wszPreferredLocaleLPWSTRin優先するロケールを指定する。不要な場合は NULL を渡せる。
lFlagsINTinログイン操作の動作を制御するフラグを指定する。
pCtxIWbemContext*in呼び出しに付加するコンテキスト情報を提供する IWbemContext を指定する。不要な場合は NULL を渡せる。
ppNamespaceIWbemServices**out接続された名前空間を表す IWbemServices を受け取る出力ポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IWbemLevel1Login "{F309AD18-D86A-11D0-A075-00C04FB68820}"
#usecom global IWbemLevel1Login IID_IWbemLevel1Login "{8BC3F05E-D86B-11D0-A075-00C04FB68820}"
#comfunc global IWbemLevel1Login_EstablishPosition  3 wstr,int,var
#comfunc global IWbemLevel1Login_RequestChallenge   4 wstr,wstr,var
#comfunc global IWbemLevel1Login_WBEMLogin          5 wstr,var,int,sptr,sptr
#comfunc global IWbemLevel1Login_NTLMLogin          6 wstr,wstr,int,sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。