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

建立非預設用戶端身分識別之 COAUTHIDENTITY 結構的指標。 如果此參數為 NULL,則會使用用戶端的實際身分識別。 結構成員的值是驗證服務特定的值。 如果 dwAuthnSvc 未指定 NTLMSSP 或 Kerberos 網路驗證通訊協定做為授權服務,這個值就必須是 NULL

dwCapabilities

指出此 Proxy 的其他功能。 目前,這個成員必須EOAC_NONE (0x0) 或RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH (0x1) 。 如果需要 Kerberos,請使用RPC_C_QOS_CAPABILITIES_MUTUAL_AUTH。

備註

如果 COSERVERINFO 中的 pAuthInfo 設定為 NULL,Snego 將用來交涉將在用戶端與伺服器之間運作的驗證服務。 不過,可以為 pAuthInfo 指定非 NULLCOAUTHINFO 結構,以符合下列任何一項需求:

  • 若要為計算機遠端啟用指定不同的用戶端身分識別。 指定的身分識別將用於伺服器上的啟動許可權檢查,而不是實際的用戶端身分識別。
  • 若要指定 Kerberos 而非 NTLMSSP,則用於電腦遠端啟用。 非預設用戶端身分識別可能或可能未指定。
  • 要求不安全的啟用。
  • 若要指定專屬驗證服務。
指定 COAUTHINFO 結構可讓 DCOM 啟用與 NTLMSSP 以外的安全性提供者正確運作。 您也可以指定遠端啟用期間使用的額外安全性資訊,以便與 DCOM 的替代實作互通。

如果您將 dwAuthzSvcpwszServerPrincNamedwImpersonationLeveldwCapabilities 設定為不正確的值,並呼叫 CoGetClassObjectCoCreateInstanceEx,這些函式不會傳回E_INVALIDARG或類似的錯誤。 會使用預設值,而不是不正確的值。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
標頭 wtypesbase.h (包含 WTypes.h)

另請參閱

COSERVERINFO