IXblIdpAuthManager2
COMメソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT GetUserlessTokenAndSignatureWithTokenResult(LPWSTR appSid, LPWSTR msaTarget, LPWSTR msaPolicy, LPWSTR httpMethod, LPWSTR uri, LPWSTR headers, BYTE* body, DWORD bodySize, BOOL forceRefresh, IXblIdpAuthTokenResult** result)
| appSid | LPWSTR | in | 呼び出しアプリのセキュリティ識別子(SID)を指定する。 |
| msaTarget | LPWSTR | in | トークン取得先の MSA ターゲットサービスを指定する。 |
| msaPolicy | LPWSTR | in | トークン要求に適用する MSA ポリシーを指定する。 |
| httpMethod | LPWSTR | in | 署名対象リクエストの HTTP メソッド名を指定する。 |
| uri | LPWSTR | in | 署名対象リクエストの URI を指定する。 |
| headers | LPWSTR | in | 署名対象リクエストの HTTP ヘッダー文字列を指定する。 |
| body | BYTE* | in | 署名対象リクエストの本体バイト列へのポインタである。NULL 可。 |
| bodySize | DWORD | in | body のバイト数を指定する。 |
| forceRefresh | BOOL | in | キャッシュを無視しトークンを強制再取得するかを示す真偽値である。 |
| result | IXblIdpAuthTokenResult** | out | ユーザー非依存のトークンと署名を含む IXblIdpAuthTokenResult を受け取る出力先である。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IXblIdpAuthManager2 "{BF8C0950-8389-43DD-9A76-A19728EC5DC5}" #usecom global IXblIdpAuthManager2 IID_IXblIdpAuthManager2 "{CE23534B-56D8-4978-86A2-7EE570640468}" #comfunc global IXblIdpAuthManager2_GetUserlessTokenAndSignatureWithTokenResult 3 wstr,wstr,wstr,wstr,wstr,wstr,var,int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IXblIdpAuthManager2 "{BF8C0950-8389-43DD-9A76-A19728EC5DC5}" #usecom global IXblIdpAuthManager2 IID_IXblIdpAuthManager2 "{CE23534B-56D8-4978-86A2-7EE570640468}" #comfunc global IXblIdpAuthManager2_GetUserlessTokenAndSignatureWithTokenResult 3 wstr,wstr,wstr,wstr,wstr,wstr,sptr,int,int,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。