Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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);
Die Parameter
-
cBytes
-
Gibt die Anzahl der zuzuordnenden Bytes an.
Bemerkungen
Sowohl Clientanwendungen als auch 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 beim Umgang mit Objekten auf, auf die von Zeigern verwiesen wird:
- Die Serveranwendung sollte midl_user_allocate aufrufen, um Speicher für die Anwendung zuzuweisen; Beispielsweise beim Erstellen eines neuen Knotens.
- Der Server-Stub ruft midl_user_allocate auf, wenn die Daten im Serveradressbereich getrennt werden.
- Der Client-Stub ruft midl_user_allocate auf, wenn daten vom Server getrennt werden, auf den durch einen Zeiger verwiesen wird. Beachten Sie, dass bei [in]-, [out]- und [eindeutigen] Zeigern der Client stub nur dann midl_user_allocate aufruft, wenn der [eindeutige] Zeigerwert bei der Eingabe NULL war und während des Aufrufs zu einem Wert ungleich NULL wechselt. Wenn der [eindeutige] Zeiger bei eingaben nicht NULL war, schreibt der Client-Stub die zugeordneten Daten in den vorhandenen Arbeitsspeicher.
Wenn midl_user_allocate Speicher nicht zuweist, muss ein NULL-Zeiger zurückgegeben werden.
Es wird empfohlen, dass midl_user_allocate einen Zeiger zurückgeben, der 8 Byte ausgerichtet ist.
Beispiele
#include <windows.h>
void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes)
{
return(malloc(cBytes));
}
Siehe auch