CoQueryAuthenticationServices 関数 (combaseapi.h)

プロセスが CoInitializeSecurity と呼ばれるときに登録された認証サービスの一覧を取得します。

構文

HRESULT CoQueryAuthenticationServices(
  [out] DWORD                       *pcAuthSvc,
  [out] SOLE_AUTHENTICATION_SERVICE **asAuthSvc
);

パラメーター

[out] pcAuthSvc

asAuthSvc 配列で返されるエントリの数を受け取る変数へのポインター。

[out] asAuthSvc

SOLE_AUTHENTICATION_SERVICE構造体の配列へのポインター。 リストは、 CoTaskMemAlloc 関数の呼び出しによって割り当てられます。 呼び出し元は、 CoTaskMemFree 関数を呼び出して、リストの終了時にリストを解放する必要があります。

戻り値

この関数は、E_INVALIDARG、E_OUTOFMEMORY、S_OKの標準戻り値を返すことができます。

解説

CoQueryAuthenticationServices は、 現在登録されている認証サービスの一覧を取得します。 プロセスが CoInitializeSecurity を呼び出す場合、これらはその呼び出しによって登録されたサービスです。 アプリケーションがそれを呼び出さない場合、 CoInitializeSecurity は COM によって自動的に呼び出され、既定のセキュリティ パッケージが登録されます。インターフェイスが初めてマーシャリングされるか、マーシャリング解除されます。

この関数は、 CoInitializeSecurity に登録されている認証サービスのみを返します。 コンピューターにインストールされているすべての認証サービスは返されませんが、 EnumerateSecurityPackages は返します。 CoQueryAuthenticationServices は、アプリケーションで使用できるプリンシパル名を決定するために、主にカスタム マーシャラーに役立ちます。

認証サービスによって、さまざまなレベルのセキュリティがサポートされます。 たとえば、NTLMSSP では委任や相互認証はサポートされていませんが、Kerberos ではサポートされていません。 アプリケーションは、アプリケーションが必要とする機能を提供する認証サービスの登録のみを担当します。 この関数は、 CoInitializeSecurity に登録されているサービスを確認する方法を提供します。

要件

   
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー combaseapi.h (Objbase.h を含む)
Library Ole32.lib
[DLL] Ole32.dll

関連項目

CoInitializeSecurity

SOLE_AUTHENTICATION_SERVICE

COM のセキュリティ