RpcSsAllocate 関数 (rpcndr.h)
RpcSsAllocate 関数は、RPC スタブメモリ管理機能内でメモリを割り当て、割り当てられたメモリまたは NULL へのポインターを返します。
構文
void * RpcSsAllocate(
size_t Size
);
パラメーター
Size
割り当てるメモリのサイズ (バイト単位)。
戻り値
値 | 説明 |
---|---|
|
システムがメモリ不足です。 |
解説
RpcSsAllocate 関数を使用すると、アプリケーションは RPC スタブメモリ管理機能内でメモリを割り当てることができます。 RpcSsAllocate を呼び出す前に、メモリ管理環境が既に確立されている必要があります。 スタブ内で呼び出されるメモリ管理の場合、スタブ自体は通常、必要な環境を確立します。 詳細については、「 メモリ管理」を参照してください。 RpcSsAllocate を使用してスタブから呼び出されないメモリを割り当てる場合、アプリケーションは RpcSsEnableAllocate を呼び出して、必要なメモリ管理環境を確立する必要があります。
RpcSsAllocate ルーチンは、呼び出しが成功した場合に、割り当てられたメモリへのポインターを返します。 それ以外の場合は、例外が発生します。
スタブは、メモリ管理を確立すると、 RpcSsAllocate によって割り当てられたすべてのメモリを解放します。 アプリケーションは、 RpcSsFree を呼び出して呼び出し元のスタブに戻る前に、このようなメモリを解放できます。
これに対し、アプリケーションがメモリ管理を確立するときは、割り当てられたメモリを解放する必要があります。 これを行う場合は、 RpcSsFree または RpcSsDisableAllocate を呼び出します。
スタブ メモリ管理環境内で同じメモリを管理するために、複数のスレッドで RpcSsAllocate と RpcSsFree を呼び出すことができます。 この場合、スレッドは同じスタブ メモリ管理スレッド ハンドルを共有する必要があります。 アプリケーションは、 RpcSsGetThreadHandle と RPCSsSetThreadHandle を呼び出すことによって、スレッド間でスレッド ハンドル を渡します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | rpcndr.h (Rpc.h を含む) |
Library | Rpcrt4.lib |
[DLL] | Rpcrt4.dll |