共用方式為


RpcServerInqCallAttributesA 函式 (rpcasync.h)

RpcServerInqCallAttributes 函式是一個 RPC 伺服器呼叫,可取得用戶端安全性內容屬性。

語法

RPC_STATUS RpcServerInqCallAttributesA(
  [in]      RPC_BINDING_HANDLE ClientBinding,
  [in, out] void               *RpcCallAttributes
);

參數

[in] ClientBinding

自選。 對於伺服器例程內的明確系結,ClientBinding 是呼叫管理員例程的系結句柄。 請參閱。

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 會接收呼叫屬性的結構。

傳回值

傳回成功時RPC_S_OK,並填入 RpcCallAttributes。 如果傳回ERROR_MORE_DATA,RpcCallAttributes 中的一或多個字段長度不足且無法填滿。 如需處理ERROR_MORE_DATA的詳細數據,請參閱<RPC_CALL_ATTRIBUTES_V2 中的。

失敗時,RpcCallAttributes 的內容未定義,且可由 RPC 部分修改。

注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

言論

RpcServerInqCallAttributes 函式會使用版本控制配置來納入新功能,而不需要引進具有後綴標識碼的新函式。 例如,以標頭中簡單 #define 識別的第二個 RPC_CALL_ATTRIBUTES_V2版本,可以新增成員,以利 RpcServerInqCallAttributes 函式的未來版本內建新功能,而不需要釋放名為 RpcServerInqCallAttributesEx 的函式。

如果 RpcServerInqCallAttributes 函式是在伺服器例程之外呼叫,而且如果函式呼叫會查詢異步 RPC 呼叫的安全性內容屬性 ,則可以從異步句柄呼叫 RpcAsyncGetCallHandle 函式來擷取 clientBinding

RpcServerInqCallAttributes 函式不支援數據報通訊協定序列,例如 ncadg_*。 如果在數據報通訊協定序列上執行的呼叫上叫用,則會傳回RPC_S_CANNOT_SUPPORT。

RpcServerInqCallAttributes 函式是安全線程的。

例子

RPC_CALL_ATTRIBUTES CallAttributes;  // this maps to RPC_CALL_ATTRIBUTES_V1

memset(&CallAttributes, 0, sizeof(CallAttributes));
CallAttributes.Version = RPC_CALL_ATTRIBUTES_VERSION;    // maps to 1
CallAttributes.Flags = ;//....
Status = RpcServerInqCallAttributes(0, &ClientContextAttributes);

注意

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

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 rpcasync.h (包括 Rpc.h)
連結庫 Rpcrt4.lib
DLL Rpcrt4.dll

另請參閱

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle