共用方式為


RpcSsAllocate 函式 (rpcndr.h)

RpcSsAllocate 函式會在 RPC 存根記憶體管理函式內配置記憶體,並傳回已配置記憶體或Null的指標。

語法

void * RpcSsAllocate(
  size_t Size
);

參數

Size

要配置的記憶體大小,以位元組為單位。

傳回值

意義
RPC_S_OUT_OF_MEMORY
系統記憶體不足。
 
注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

備註

RpcSsAllocate 函式可讓應用程式在 RPC 存根記憶體管理函式內配置記憶體。 在呼叫 RpcSsAllocate之前,必須已建立記憶體管理環境。 針對存根內呼叫的記憶體管理,存根本身通常會建立必要的環境。 如需詳細資訊,請參閱 記憶體管理。 使用 RpcSsAllocate 配置未從存根呼叫的記憶體時,應用程式必須呼叫 RpcSsEnableAllocate 來建立必要的記憶體管理環境。

如果呼叫成功, RpcSsAllocate 常式會傳回所配置記憶體的指標。 否則,它會引發例外狀況。

當存根建立記憶體管理時,它會釋放 RpcSsAllocate配置的任何記憶體。 應用程式可以先釋放這類記憶體,再呼叫 RpcSsFree回到呼叫存根。

相較之下,當應用程式建立記憶體管理時,它必須釋放任何配置的記憶體。 它藉由呼叫 RpcSsFreeRpcSsDisableAllocate 來執行此動作

若要在存根記憶體管理環境中管理相同的記憶體,多個執行緒可以呼叫 RpcSsAllocateRpcSsFree。 在此情況下,執行緒必須共用相同的存根記憶體管理執行緒控制碼。 應用程式會呼叫 RpcSsGetThreadHandleRPCSsSetThreadHandle,從執行緒對執行緒傳遞執行緒控制碼。

注意RpcSsAllocate常式會引發例外狀況,不同于RpcSmAllocate,這會傳回錯誤碼。
 

需求

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

另請參閱

RpcSmAllocate

RpcSsDisableAllocate

RpcSsEnableAllocate

RpcSsFree

RpcSsGetThreadHandle

RpcSsSetThreadHandle