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_free-Funktion muss von RPC-Entwicklern bereitgestellt werden. Sie gibt Arbeitsspeicher frei, der von midl_user_allocate für die RPC-Stubs und Bibliotheksroutinen zugewiesen wird. Ihre midl_user_free-Funktion muss mit dem folgenden Prototyp übereinstimmen:
void __RPC_USER midl_user_free(void * pBuffer);
Der pBuffer Parameter gibt einen Zeiger auf den Speicher an, der freigegeben werden soll. Sowohl Clientanwendung als auch Serveranwendung müssen die midl_user_free-Funktion implementieren, es sei denn, Sie kompilieren in OSF-Kompatibilität (/osf) Modus. Die funktion midl_user_free muss in der Lage sein, alle von midl_user_allocatezugewiesenen Speicher frei zu geben.
Anwendungen und Stubs rufen beim Umgang mit zugeordneten Objekten midl_user_free auf:
- Die Serveranwendung sollte midl_user_free aufrufen, um von der Anwendung zugewiesenen Arbeitsspeicher freizugeben, z. B. beim Löschen eines dynamisch zugeordneten Datenknotens.
- Der Server-Stub ruft midl_user_free auf, um Arbeitsspeicher auf dem Server freizugeben, nachdem alle [out]-Argumente, [in],[out] Argumente und der Funktionsrücklaufwert gemarsiert wurden.
Beispielsweise implementiert das RPC-Windows-Beispielprogramm, das "Hello, world" anzeigt, midl_user_free in Bezug auf die C-Funktion kostenlos:
void __RPC_USER midl_user_free(void __RPC_FAR * p)
{
free(p);
}
Anmerkung
Wenn das RpcSs-Paket aktiviert ist (z. B. als Ergebnis der Verwendung des [enable_allocate]-Attributs), sollte Ihr Serverprogramm RpcSmFree- verwenden, um Arbeitsspeicher freizugeben. Weitere Informationen finden Sie unter RpcSs Memory Management Package.