RpcSsAllocate-Funktion (rpcndr.h)
Die RpcSsAllocate-Funktion weist Arbeitsspeicher innerhalb der RPC-Stubspeicherverwaltungsfunktion zu und gibt einen Zeiger auf den zugewiesenen Arbeitsspeicher oder NULL zurück.
Syntax
void * RpcSsAllocate(
size_t Size
);
Parameter
Size
Größe des zuzuordnenden Arbeitsspeichers in Bytes.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Das System hat nicht genügend Arbeitsspeicher. |
Hinweise
Die RpcSsAllocate-Funktion ermöglicht es einer Anwendung, Arbeitsspeicher innerhalb der RPC-Stubspeicherverwaltungsfunktion zuzuweisen. Vor dem Aufrufen von RpcSsAllocate muss die Speicherverwaltungsumgebung bereits eingerichtet sein. Für die Speicherverwaltung, die innerhalb des Stubs aufgerufen wird, richtet der Stub in der Regel selbst die erforderliche Umgebung ein. Weitere Informationen finden Sie unter Arbeitsspeicherverwaltung. Wenn Sie RpcSsAllocate verwenden, um Arbeitsspeicher zuzuweisen, der nicht aus dem Stub aufgerufen wurde, muss die Anwendung RpcSsEnableAllocate aufrufen, um die erforderliche Speicherverwaltungsumgebung einzurichten.
Die RpcSsAllocate-Routine gibt einen Zeiger auf den zugewiesenen Arbeitsspeicher zurück, wenn der Aufruf erfolgreich war. Andernfalls löst es eine Ausnahme aus.
Wenn der Stub die Speicherverwaltung einrichtet, gibt er den von RpcSsAllocate zugewiesenen Arbeitsspeicher frei. Die Anwendung kann diesen Arbeitsspeicher freigeben, bevor sie zum aufrufenden Stub zurückkehrt, indem rpcSsFree aufgerufen wird.
Wenn die Anwendung hingegen die Speicherverwaltung einleite, muss sie den zugeordneten Arbeitsspeicher freigeben. Dazu wird entweder RpcSsFree oder RpcSsDisableAllocate aufgerufen.
Um denselben Arbeitsspeicher in der Stub-Speicherverwaltungsumgebung zu verwalten, können mehrere Threads RpcSsAllocate und RpcSsFree aufrufen. In diesem Fall müssen die Threads dasselbe Stubspeicherverwaltungs-Threadhandle verwenden. Anwendungen übergeben Threadhandles von Thread zu Thread, indem sie RpcSsGetThreadHandle und RPCSsSetThreadHandle aufrufen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | rpcndr.h (include Rpc.h) |
Bibliothek | Rpcrt4.lib |
DLL | Rpcrt4.dll |