COAUTHINFO 構造体 (wtypesbase.h)

クライアント コンピューターからサーバー コンピューターへのリモート ライセンス認証要求の実行中に使用される認証設定が含まれます。

構文

typedef struct _COAUTHINFO {
  DWORD          dwAuthnSvc;
  DWORD          dwAuthzSvc;
  LPWSTR         pwszServerPrincName;
  DWORD          dwAuthnLevel;
  DWORD          dwImpersonationLevel;
  COAUTHIDENTITY *pAuthIdentityData;
  DWORD          dwCapabilities;
} COAUTHINFO;

メンバー

dwAuthnSvc

使用する認証サービス。 値の一覧については、「 認証サービス定数」を参照してください。 認証が必要ない場合は、RPC_C_AUTHN_NONEを使用します。 RPC_C_AUTHN_WINNTが既定であり、RPC_C_AUTHN_GSS_KERBEROSもサポートされています。

dwAuthzSvc

使用する承認サービス。 値の一覧については、「 承認定数」を参照してください。 NT 認証サービスを使用するには、RPC_C_AUTHZ_NONEを指定します。

pwszServerPrincName

認証サービスで使用するサーバー プリンシパル名。 RPC_C_AUTHN_WINNTを使用している場合、プリンシパル名は NULL である必要があります。

dwAuthnLevel

使用する認証レベル。 値の一覧については、「 認証レベルの定数」を参照してください。

Windows Server 2003 以降、リモート ライセンス認証では 、CoInitializeSecuritydwAuthnLevel パラメーターで指定された既定の認証レベルが使用されます。 以前のバージョンの Windows では、別のレベルが明示的に指定されていない限り、RPC_C_AUTHN_LEVEL_CONNECTは常にセキュリティ レベルに使用されていました。

dwImpersonationLevel

使用する偽装レベル。 値の一覧については、「 偽装レベル定数」を参照してください。 この値は、RPC_C_IMP_LEVEL_IMPERSONATE以上である必要があります。

pAuthIdentityData

既定以外のクライアント ID を確立する COAUTHIDENTITY 構造体へのポインター。 このパラメーターが NULL の場合は、クライアントの実際の ID が使用されます。 構造体メンバーの値は、認証サービス固有です。 dwAuthnSvc が NTLMSSP または Kerberos ネットワーク認証プロトコルを承認サービスとして使用するように指定しない場合、この値は NULL である必要があります。

dwCapabilities

このプロキシの追加機能を示します。 現在、このメンバーは EOAC_NONE (0x0) またはRPC_C_QOS_CAPABILITIES_MUTUAL_AUTH (0x1) である必要があります。 Kerberos が必要な場合は、RPC_C_QOS_CAPABILITIES_MUTUAL_AUTHを使用します。

注釈

COSERVERINFOpAuthInfoNULL に設定されている場合、Snego を使用して、クライアントとサーバーの間で動作する認証サービスをネゴシエートします。 ただし、次のいずれかのニーズを満たすために、pAuthInfoNULL 以外の COAUTHINFO 構造体を指定できます。

  • コンピューターのリモートアクティブ化に別のクライアント ID を指定する。 指定した ID は、実際のクライアント ID ではなく、サーバー上の起動アクセス許可チェックに使用されます。
  • NTLMSSP ではなく Kerberos をコンピューターのリモート アクティブ化に使用するように指定します。 既定以外のクライアント ID は、指定する場合と指定しない場合があります。
  • セキュリティで保護されていないアクティブ化を要求する。
  • 独自の認証サービスを指定する。
COAUTHINFO 構造体を指定すると、DCOM のアクティブ化を NTLMSSP 以外のセキュリティ プロバイダーで正しく動作できます。 また、DCOM の代替実装との相互運用性のために、リモート アクティブ化時に使用される追加のセキュリティ情報を指定することもできます。

dwAuthzSvcpwszServerPrincNamedwImpersonationLevel、または dwCapabilities を正しくない値に設定し、CoGetClassObject または CoCreateInstanceEx を呼び出しても、これらの関数はE_INVALIDARGまたは同様のエラーを返しません。 既定値は、正しくない値の代わりに使用されます。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
Header wtypesbase.h (WTypes.h を含む)

こちらもご覧ください

COSERVERINFO