共用方式為


RpcBindingSetAuthInfoA 函式 (rpcdce.h)

RpcBindingSetAuthInfo 函式會設定系結句柄的驗證和授權資訊。

語法

RPC_STATUS RpcBindingSetAuthInfoA(
  RPC_BINDING_HANDLE       Binding,
  RPC_CSTR                 ServerPrincName,
  unsigned long            AuthnLevel,
  unsigned long            AuthnSvc,
  RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  unsigned long            AuthzSvc
);

參數

Binding

要套用驗證和授權資訊的伺服器系結句柄。

ServerPrincName

Binding 所參考之伺服器之預期主體名稱的指標。 名稱和其語法的內容是由使用中的驗證服務所定義。

注意 針對 SSP 允許的目標名稱集,請參閱 InitializeSecurityContext 檔中的批注。
 

AuthnLevel

在使用 系結進行遠端過程調用時,要執行的驗證層級。 如需 RPC 支援的驗證層級清單,請參閱 Authentication-Level 常數清單

AuthnSvc

要使用的驗證服務。 請參閱附注。

指定 RPC_C_AUTHN_NONE,以關閉使用系結 系結進行的遠端過程調用驗證。

如果指定RPC_C_AUTHN_DEFAULT,RPC 運行時間連結庫會針對使用系結 系結進行的遠端過程調用使用RPC_C_AUTHN_WINNT驗證服務。

AuthIdentity

處理結構,其中包含適用於所選驗證和授權服務的客戶端驗證和授權認證。使用RPC_C_AUTHN_WINNT驗證服務時,AuthIdentity 應該是 SEC_WINNT_AUTH_IDENTITY 結構的指標(定義於 Rpcdce.h 中)。 Kerberos 和 Negotiate 驗證服務也會使用 SEC_WINNT_AUTH_IDENTITY 結構。

當您選取RPC_C_AUTHN_GSS_SCHANNEL驗證服務時,AuthIdentity 參數應該是 SCHANNEL_CRED 結構的指標(定義於 Schannel.h 中)。 指定 Null 值,以使用目前位址空間的安全性登入內容。 傳遞值RPC_C_NO_CREDENTIALS以使用匿名登入內容。

注意 選取RPC_C_AUTHN_GSS_SCHANNEL驗證服務時,AuthIdentity 參數也可能是 SCH_CRED 結構的指標。 不過,在 Windows XP 和更新版本的 Windows 中,唯一可接受的結構會傳遞為RPC_C_AUTHN_GSS_SCHANNEL驗證服務的 AuthIdentity 參數是 SCHANNEL_CRED 結構。
 

AuthzSvc

伺服器針對感興趣的介面所實作的授權服務。 請參閱附注。

授權數據的有效性和可信度,就像任何應用程式數據一樣,取決於選取的驗證服務和驗證層級。 使用 RPC_C_AUTHN_WINNT 驗證服務時,會忽略此參數。

附註 如需詳細資訊,請參閱 Authentication-Service 常數
 

傳回值

價值 意義
RPC_S_OK
呼叫成功。
RPC_S_INVALID_BINDING
系結句柄無效。
RPC_S_WRONG_KIND_OF_BINDING
這是作業的錯誤系結類型。
RPC_S_UNKNOWN_AUTHN_SERVICE
未知的驗證服務。
 
注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

言論

用戶端應用程式會呼叫 RpcBindingSetAuthInfo 函式,以設定伺服器系結句柄,以進行已驗證的遠端過程調用。 不需要用戶端才能呼叫此函式。

除非用戶端呼叫 RpcBindingSetAuthInfo,否則不會驗證 系結 句柄上的遠端過程調用。 伺服器可以從遠端過程調用中呼叫 RpcBindingInqAuthClient,以判斷該呼叫是否已通過驗證。

RpcBindingSetAuthInfo 函式會擷取認證的快照集。 因此,在系結句柄之前,可以釋放專用於 AuthIdentity 參數的記憶體。

由於不同版本的 Microsoft RPC 需求不同,Microsoft建議應用程式只要繫結句柄存在,就維護 AuthIdentity 參數的指標。 這樣做會增加應用程式的可移植性。

WINDOWS Server 2003 SP1 和 Windows XP sp2:Windows XP SP2 和 Windows Server 2003 SP1,則系結句柄生命週期不需要維護 AuthIdentity 參數的指標。 只有在後續呼叫 rpcBindingInqAuthInfo RpcBindingInqAuthInfoEx 時,才能維護此指標。

注意 在相同句柄上的 RPC 呼叫進行時,不得在系結句柄上呼叫 rpcBindingSetAuthInfo 函式。 這樣做會產生未定義的結果。
 

注意

rpcdce.h 標頭會根據 UNICODE 預處理器常數的定義,將 RpcBindingSetAuthInfo 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
支援的最低伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平臺 窗戶
標頭 rpcdce.h (包括 Rpc.h)
連結庫 Rpcrt4.lib
DLL Rpcrt4.dll

另請參閱

MSMQ 安全性服務

RpcBindingInqAuthInfo

RpcBindingSetOption

RpcServerRegisterAuthInfo