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的詳細數據,請參閱<
失敗時,RpcCallAttributes 的內容未定義,且可由 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 |