IServerSecurity::QueryBlanket メソッド (objidlbase.h)
サーバーのいずれかのメソッドを呼び出したクライアントに関する情報を取得します。
構文
HRESULT QueryBlanket(
[out] DWORD *pAuthnSvc,
[out] DWORD *pAuthzSvc,
[out] OLECHAR **pServerPrincName,
[out] DWORD *pAuthnLevel,
[out] DWORD *pImpLevel,
[out] void **pPrivs,
[in, out] DWORD *pCapabilities
);
パラメーター
[out] pAuthnSvc
現在の認証サービスへのポインター。 これは、 認証サービス定数の一覧から取得された 1 つの値になります。 呼び出し元が NULL を指定した場合、現在の認証サービスは取得されません。
[out] pAuthzSvc
現在の承認サービスを受け取る変数へのポインター。 これは、 承認定数の一覧の 1 つの値になります。 呼び出し元が NULL を指定した場合、現在の承認サービスは取得されません。
[out] pServerPrincName
現在のプリンシパル名。 文字列は CoTaskMemAlloc を使用して呼び出し先によって割り当てられ、 CoTaskMemFree を使用して呼び出し元によって解放される必要があります。 既定では、Schannel プリンシパル名は msstd 形式になります。 pCapabilities パラメーターでEOAC_MAKE_FULLSICが指定されている場合は、完全形式が返されます。 msstd フォームと fullsic フォームの詳細については、「 プリンシパル名」を参照してください。 呼び出し元が NULL を指定した場合、現在のプリンシパル名は取得されません。
[out] pAuthnLevel
現在の認証レベルを受け取る変数へのポインター。 これは、 認証レベル定数の一覧から取得された 1 つの値になります。 呼び出し元が NULL を指定した場合、現在の認証レベルは取得されません。
[out] pImpLevel
このパラメーターは NULL である必要があります。
[out] pPrivs
クライアント アプリケーションの特権情報。 ハンドルが参照する構造体の形式は、認証サービスによって異なります。 アプリケーションはメモリを書き込んだり解放したりしないでください。 この情報は、現在の呼び出しの期間中のみ有効です。 NTLMSSP と Kerberos の場合、これは SEC_WINNT_AUTH_IDENTITY または SEC_WINNT_AUTH_IDENTITY_EX 構造です。 Schannel の場合、これはクライアントの証明書を表す CERT_CONTEXT 構造です。 クライアントに証明書がない場合は、 NULL が返されます。 呼び出し元が NULL を指定した場合、現在の特権情報は取得されません。
[in, out] pCapabilities
呼び出しの機能。 Schannel が認証サービスである場合にプリンシパル名を fullsic 形式で返すように要求するには、呼び出し元はこのパラメーターで EOAC_MAKE_FULLSIC フラグを設定できます。 呼び出し元が NULL を指定した場合、現在の機能は取得されません。
戻り値
このメソッドは、E_INVALIDARG、E_OUTOFMEMORY、およびS_OKの標準戻り値を返すことができます。
注釈
QueryBlanket は、そのメソッドの 1 つを呼び出したクライアントについて調べるのにサーバーによって使用されます。 現在のスレッドでの現在の呼び出しの IServerSecurity へのポインターを取得するには、 CoGetCallContext を呼び出し、IID_IServerSecurityを指定します。 このインターフェイス ポインターは、呼び出しの間、呼び出しと同じアパートメントでのみ使用できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | objidlbase.h (ObjIdl.h を含む) |