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

ITSGPolicyEngine

COM
IID8bc24f08-6223-42f4-a5b4-8e37cd135bbd継承元IUnknown自前メソッド開始 vtbl3

メソッド 4

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

vtbl 3 HRESULT AuthorizeConnection(GUID mainSessionId, LPWSTR username, AAAuthSchemes authType, LPWSTR clientMachineIP, LPWSTR clientMachineName, BYTE* sohData, DWORD numSOHBytes, BYTE* cookieData, DWORD numCookieBytes, HANDLE_PTR userToken, ITSGAuthorizeConnectionSink* pSink)
mainSessionIdGUIDin認可するメインセッションを識別する GUID を指定する。
usernameLPWSTRin接続を要求しているユーザーの名前を指定する。
authTypeAAAuthSchemesin使用された認証方式 (AAAuthSchemes) を指定する。
clientMachineIPLPWSTRinクライアントマシンの IP アドレスを指定する。
clientMachineNameLPWSTRinクライアントマシンの名前を指定する。
sohDataBYTE*inクライアントのステートメント・オブ・ヘルスデータを保持するバッファへのポインタを渡す。
numSOHBytesDWORDinsohData が指すデータのバイト数を指定する。
cookieDataBYTE*in認可に使用するクッキーデータを保持するバッファへのポインタを渡す。
numCookieBytesDWORDincookieData が指すデータのバイト数を指定する。
userTokenHANDLE_PTRinユーザーを表すトークンのハンドルを指定する。
pSinkITSGAuthorizeConnectionSink*in認可結果を非同期で通知する ITSGAuthorizeConnectionSink へのポインタを渡す。
vtbl 4 HRESULT AuthorizeResource(GUID mainSessionId, INT subSessionId, LPWSTR username, LPWSTR* resourceNames, DWORD numResources, LPWSTR* alternateResourceNames, DWORD numAlternateResourceName, DWORD portNumber, LPWSTR operation, BYTE* cookie, DWORD numBytesInCookie, ITSGAuthorizeResourceSink* pSink)
mainSessionIdGUIDin対象のメインセッションを識別する GUID を指定する。
subSessionIdINTin対象のサブセッションを識別する番号を指定する。
usernameLPWSTRinアクセスを要求しているユーザーの名前を指定する。
resourceNamesLPWSTR*inアクセス対象のリソース名の配列を指定する。
numResourcesDWORDinresourceNames に含まれる要素数を指定する。
alternateResourceNamesLPWSTR*inリソースの代替名の配列を指定する。
numAlternateResourceNameDWORDinalternateResourceNames に含まれる要素数を指定する。
portNumberDWORDinアクセス対象のポート番号を指定する。
operationLPWSTRin実行する操作を表す文字列を指定する。
cookieBYTE*in認可に使用するクッキーデータを保持するバッファへのポインタを渡す。
numBytesInCookieDWORDincookie が指すデータのバイト数を指定する。
pSinkITSGAuthorizeResourceSink*in認可結果を非同期で通知する ITSGAuthorizeResourceSink へのポインタを渡す。
vtbl 5 HRESULT Refresh()
vtbl 6 HRESULT IsQuarantineEnabled(BOOL* quarantineEnabled)
quarantineEnabledBOOL*out検疫が有効かどうかを示すブール値を受け取る。

HSP用 COM定義

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

出力引数:
#define global IID_ITSGPolicyEngine "{8BC24F08-6223-42F4-A5B4-8E37CD135BBD}"
#usecom global ITSGPolicyEngine IID_ITSGPolicyEngine "{}"
#comfunc global ITSGPolicyEngine_AuthorizeConnection  3 int,wstr,int,wstr,wstr,var,int,var,int,sptr,sptr
#comfunc global ITSGPolicyEngine_AuthorizeResource    4 int,int,wstr,var,int,var,int,int,wstr,var,int,sptr
#comfunc global ITSGPolicyEngine_Refresh              5
#comfunc global ITSGPolicyEngine_IsQuarantineEnabled  6 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。