attribut midl_user_allocate
Die midl_user_allocate-Funktion ist eine Funktion, die Client- und Serveranwendungen bereitstellen, um Arbeitsspeicher zuzuweisen.
void __RPC_FAR * __RPC_API midl_user_allocate (size_t cBytes);
Parameter
-
cBytes
-
Gibt die Anzahl der zuzuweisenden Bytes an.
Bemerkungen
Client- und Serveranwendungen müssen die midl_user_allocate-Funktion implementieren, es sei denn, Sie kompilieren im OSF-Kompatibilitätsmodus (/osf). Anwendungen und generierte Stubs rufen midl_user_allocate auf, wenn es um Objekte geht, auf die durch Zeiger verwiesen wird:
- Die Serveranwendung sollte midl_user_allocate aufrufen, um Arbeitsspeicher für die Anwendung zuzuweisen, z. B. beim Erstellen eines neuen Knotens.
- Der Serverstub ruft midl_user_allocate auf, wenn die Daten mit spitzen Signalen in den Serveradressraum entkoppelt werden.
- Der Clientstub ruft midl_user_allocate auf, wenn daten vom Server getrennt werden, auf die durch einen Outzeiger verwiesen wird. Beachten Sie, dass für [in]-, [out]- und [unique] -Zeiger der Clientstub nur midl_user_allocate aufruft, wenn der [eindeutige] Zeigerwert bei der Eingabe NULL war und sich während des Aufrufs in einen Wert ungleich NULL ändert. Wenn der [eindeutige] Zeiger bei der Eingabe nicht NULL war, schreibt der Client-Stub die zugeordneten Daten in den vorhandenen Arbeitsspeicher.
Wenn midl_user_allocate Speicher nicht zuweisen kann, muss ein NULL-Zeiger zurückgegeben werden.
Es wird empfohlen, midl_user_allocate einen Zeiger zurückzugeben, der 8 Byte ausgerichtet ist.
Beispiele
#include <windows.h>
void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes)
{
return(malloc(cBytes));
}
Weitere Informationen