Share via


RpcServerRegisterAuthInfo 函式 (rpcdce.h)

RpcServerRegisterAuthInfo 函式會向 RPC 運行時間連結庫註冊驗證資訊。

語法

RPC_STATUS RpcServerRegisterAuthInfo(
  RPC_CSTR                  ServerPrincName,
  unsigned long             AuthnSvc,
  RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn,
  void                      *Arg
);

參數

ServerPrincName

使用 AuthnSvc 參數所指定的服務來驗證遠端過程調用時,要用於伺服器的主體名稱指標。 名稱和其語法的內容是由使用中的驗證服務所定義。 如需詳細資訊,請參閱 主體名稱

AuthnSvc

當伺服器收到遠端過程調用的要求時,要使用的驗證服務。

GetKeyFn

傳回加密金鑰的伺服器應用程式提供例程位址。 請參閱 RPC_AUTH_KEY_RETRIEVAL_FN

指定 NULL 參數值,以使用加密金鑰取得的預設方法。 在此情況下,驗證服務會指定預設行為。 使用RPC_C_AUTHN_WINNT驗證服務時,將此參數設定為 NULL

驗證服務 GetKeyFn 精 氨 酸 運行時間行為
RPC_C_AUTHN_DPA 忽略 忽略 不支援
RPC_C_AUTHN_GSS_KERBEROS 忽略 忽略 不支援
RPC_C_AUTHN_GSS_NEGOTIATE 忽略 忽略 不支援
RPC_C_AUTHN_GSS_SCHANNEL 忽略 忽略 不支援
RPC_C_AUTHN_MQ 忽略 忽略 不支援
RPC_C_AUTHN_MSN 忽略 忽略 不支援
RPC_C_AUTHN_WINNT 忽略 忽略 不支援
RPC_C_AUTHN_DCE_PRIVATE NULL Null 使用從指定金鑰數據表取得加密金鑰的預設方法;指定的自變數會傳遞至預設擷取函式。
RPC_C_AUTHN_DCE_PRIVATE Null NULL 使用指定的加密金鑰擷取函式,從預設密鑰數據表取得金鑰。
RPC_C_AUTHN_DCE_PRIVATE Null Null 使用指定的加密金鑰擷取函式,從指定的密鑰數據表取得金鑰;指定的自變數會傳遞至擷取函式。
RPC_C_AUTHN_DEC_PUBLIC 忽略 忽略 保留供未來使用。
 
 

RPC 運行時間連結庫會將來自 RpcServerRegisterAuthInfoServerPrincName 參數值當做 ServerPrincName 參數值傳遞至 GetKeyFn 取得函式。 RPC 執行時間連結庫會自動提供金鑰版本 (KeyVer) 參數的值。 若為零的 KeyVer 參數值,取得函式必須傳回最新的可用索引鍵。 擷取函式會傳回 Key 參數中的驗證 密鑰

如果 從 RpcServerRegisterAuthInfo 呼叫的下載函式傳回RPC_S_OK以外的狀態,則此函式會失敗,並將錯誤碼傳回伺服器應用程式。 如果在驗證客戶端的遠端過程調用要求時,RPC 執行時間連結庫所呼叫的下載函式傳回RPC_S_OK以外的狀態,則要求會失敗,而 RPC 運行時間連結庫會將錯誤碼傳回給用戶端應用程式。

Arg

如果指定,要傳遞至 GetKeyFn 例程的參數指標。 如果驗證服務設定為 SCHANNEL,此參數也可以用來將指標傳遞至 SCHANNEL_CRED 結構,以指定明確的認證。

如果 Arg 參數設定為 NULL,則此函式會在目錄服務中設定時使用預設憑證或認證。

傳回值

意義
RPC_S_OK
呼叫成功。
RPC_S_UNKNOWN_AUTHN_SERVICE
驗證服務未知。
 
注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

備註

伺服器應用程式會呼叫 RpcServerRegisterAuthInfo 來註冊驗證服務,以用於驗證遠端過程調用。 伺服器會針對伺服器想要註冊的每個驗證服務呼叫此例程一次。 如果伺服器針對指定的驗證服務多次呼叫此函式,則結果未定義。

用戶端應用程式使用 RpcBindingSetAuthInfoRpcServerRegisterAuthInfo 指定 (的驗證服務) 必須是伺服器應用程式指定的其中一個驗證服務。 否則,客戶端的遠端過程調用會失敗,並傳回RPC_S_UNKNOWN_AUTHN_SERVICE狀態代碼。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 rpcdce.h (包含 Rpc.h)
程式庫 Rpcrt4.lib
Dll Rpcrt4.dll

另請參閱

RpcBindingSetAuthInfo