RpcSsAllocate 函式 (rpcndr.h)
RpcSsAllocate 函式會在 RPC 存根記憶體管理函式內配置記憶體,並傳回已配置記憶體或Null的指標。
語法
void * RpcSsAllocate(
size_t Size
);
參數
Size
要配置的記憶體大小,以位元組為單位。
傳回值
值 | 意義 |
---|---|
|
系統記憶體不足。 |
注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值。
備註
RpcSsAllocate 函式可讓應用程式在 RPC 存根記憶體管理函式內配置記憶體。 在呼叫 RpcSsAllocate之前,必須已建立記憶體管理環境。 針對存根內呼叫的記憶體管理,存根本身通常會建立必要的環境。 如需詳細資訊,請參閱 記憶體管理。 使用 RpcSsAllocate 配置未從存根呼叫的記憶體時,應用程式必須呼叫 RpcSsEnableAllocate 來建立必要的記憶體管理環境。
如果呼叫成功, RpcSsAllocate 常式會傳回所配置記憶體的指標。 否則,它會引發例外狀況。
當存根建立記憶體管理時,它會釋放 RpcSsAllocate配置的任何記憶體。 應用程式可以先釋放這類記憶體,再呼叫 RpcSsFree回到呼叫存根。
相較之下,當應用程式建立記憶體管理時,它必須釋放任何配置的記憶體。 它藉由呼叫 RpcSsFree 或 RpcSsDisableAllocate 來執行此動作。
若要在存根記憶體管理環境中管理相同的記憶體,多個執行緒可以呼叫 RpcSsAllocate 和 RpcSsFree。 在此情況下,執行緒必須共用相同的存根記憶體管理執行緒控制碼。 應用程式會呼叫 RpcSsGetThreadHandle 和 RPCSsSetThreadHandle,從執行緒對執行緒傳遞執行緒控制碼。
注意RpcSsAllocate常式會引發例外狀況,不同于RpcSmAllocate,這會傳回錯誤碼。
需求
最低支援的用戶端 | Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows 2000 Server [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | rpcndr.h (包含 Rpc.h) |
程式庫 | Rpcrt4.lib |
Dll | Rpcrt4.dll |