指標和記憶體配置
透過指標變更記憶體的能力通常需要伺服器和客戶端為陣列中的元素配置足夠的記憶體。
當存根必須設定或釋放記憶體時,它會呼叫運行時間連結庫函式,進而呼叫函式 midl_user_allocate 並 midl_user_free。 這些函式不會包含在運行時間連結庫中。 您必須撰寫自己的這些函式版本,並將其與您的應用程式連結。 如此一來,您就可以決定如何管理記憶體。 在OSF相容性中編譯IDL檔案(/osf) 模式時,您不需要實作這些函式。 您必須將這些函式寫入下列原型:
void __RPC_FAR * __RPC_API midl_user_allocate(size_t len)
void __RPC_API midl_user_free(void __RPC_FAR * ptr)
例如,應用程式的這些函式版本可以直接呼叫標準連結庫函式:
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);
}