Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Funkcja midl_user_allocate jest funkcją udostępnianą przez aplikacje klienckie i serwerowe w celu przydzielenia pamięci.
void __RPC_FAR * __RPC_API midl_user_allocate (size_t cBytes);
Parametry
-
cBytes
-
Określa liczbę bajtów do przydzielenia.
Uwagi
Zarówno aplikacje klienckie, jak i aplikacje serwerowe muszą implementować funkcję midl_user_allocate , chyba że kompilujesz się w trybie zgodności OSF (/osf). Aplikacje i wygenerowane wycinki wywołania midl_user_allocate podczas pracy z obiektami, do których odwołuje się wskaźnik:
- Aplikacja serwera powinna wywoływać midl_user_allocate w celu przydzielenia pamięci dla aplikacji; na przykład podczas tworzenia nowego węzła.
- Łącznik serwera wywołuje midl_user_allocate , gdy rozwikłanie wskazywanych danych do przestrzeni adresowej serwera.
- Funkcja wycinkowa klienta wywołuje midl_user_allocate w przypadku odłączania danych z serwera, do którego odwołuje się wskaźnik wychodzący . Należy pamiętać, że w przypadku wskaźników [in], [out] i [unique] wycinków klienta wywołuje midl_user_allocate tylko wtedy, gdy wartość wskaźnika [unikatowa] miała wartość NULL w danych wejściowych i zmienia się na wartość inną niż NULL podczas wywołania. Jeśli wskaźnik [unique] był inny niż NULL w danych wejściowych, element końcowy klienta zapisuje skojarzone dane w istniejącej pamięci.
Jeśli midl_user_allocate nie można przydzielić pamięci, musi zwrócić wskaźnik NULL .
Zaleca się , aby midl_user_allocate zwrócić wskaźnik, który jest wyrównany o 8 bajtów.
Przykłady
#include <windows.h>
void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes)
{
return(malloc(cBytes));
}
Zobacz także