RpcSmAllocate-Funktion (rpcndr.h)
Die RpcSmAllocate-Funktion weist Arbeitsspeicher innerhalb der RPC-Stubspeicherverwaltungsfunktion zu und gibt einen Zeiger auf den zugewiesenen Arbeitsspeicher oder NULL zurück.
Syntax
void * RpcSmAllocate(
size_t Size,
RPC_STATUS *pStatus
);
Parameter
Size
Größe des zuzuordnenden Arbeitsspeichers in Bytes.
pStatus
Zeiger auf den zurückgegebenen status.
Rückgabewert
Wert | Bedeutung |
---|---|
|
Der Aufruf war erfolgreich. |
|
Das System hat nicht genügend Arbeitsspeicher. |
Hinweise
Die RpcSmAllocate-Routine ermöglicht es einer Anwendung, Arbeitsspeicher innerhalb der RPC-Stubspeicherverwaltungsumgebung zuzuweisen. Vor dem Aufrufen von RpcSmAllocate muss die Speicherverwaltungsumgebung bereits eingerichtet sein. Für die Speicherverwaltung, die innerhalb des Stubs aufgerufen wird, kann der Serverstub selbst die erforderliche Umgebung einrichten. Weitere Informationen finden Sie unter RpcSmEnableAllocate. Wenn Sie RpcSmAllocate zum Zuweisen von Arbeitsspeicher verwenden, der nicht aus dem Stub aufgerufen wird, muss die Anwendung RpcSmEnableAllocate aufrufen, um die erforderliche Speicherverwaltungsumgebung einzurichten.
Die RpcSmAllocate-Routine gibt einen Zeiger auf den zugewiesenen Arbeitsspeicher zurück, wenn der Aufruf erfolgreich ist. Andernfalls wird null zurückgegeben.
Wenn der Stub die Speicherverwaltung einrichtet, gibt er den von RpcSmAllocate zugewiesenen Arbeitsspeicher frei. Die Anwendung kann diesen Arbeitsspeicher freigeben, bevor sie zum aufrufenden Stub zurückkehrt, indem RpcSmFree aufgerufen wird.
Im Gegensatz dazu muss die Anwendung beim Einrichten der Speicherverwaltung den zugewiesenen Arbeitsspeicher freigeben. Dazu wird entweder RpcSmFree oder RpcSmDisableAllocate aufgerufen.
Um denselben Arbeitsspeicher in der Stubspeicher-Verwaltungsumgebung zu verwalten, können mehrere Threads RpcSmAllocate und RpcSmFree aufrufen. In diesem Fall müssen die Threads dasselbe Stubspeicherverwaltungsthreadhandle verwenden. Anwendungen übergeben Threadhandles von Thread zu Thread, indem sie RpcSmGetThreadHandle und RpcSmSetThreadHandle aufrufen.
Weitere Informationen finden Sie unter Arbeitsspeicherverwaltung.
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 |