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.
Możliwość zmiany pamięci za pomocą wskaźników często wymaga, aby serwer i klient przydzielili wystarczającą ilość pamięci dla elementów w tablicy.
Gdy element wycinkowy musi przydzielić lub zwolnić pamięć, wywołuje funkcje biblioteki czasu wykonywania, które z kolei wywołają funkcje midl_user_allocate i midl_user_free. Te funkcje nie są uwzględniane w ramach biblioteki czasu wykonywania. Musisz napisać własne wersje tych funkcji i połączyć je z aplikacją. W ten sposób możesz zdecydować, jak zarządzać pamięcią. Podczas kompilowania pliku IDL w trybie zgodności systemu operacyjnego (/osf) nie trzeba implementować tych funkcji. Te funkcje należy napisać w następujących prototypach:
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
Na przykład wersje tych funkcji dla aplikacji mogą po prostu wywoływać standardowe funkcje biblioteki:
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
{
return(malloc(len));
}
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
{
free(ptr);
}