midl_user_free İşlevi
midl_user_free işlevi RPC geliştiricileri tarafından sağlanmalıdır. RPC saptamaları ve kitaplık yordamları için midl_user_allocate tarafından ayrılan belleği serbest bırakır. midl_user_free işlevinizin aşağıdaki prototiple eşleşmesi gerekir:
void __RPC_USER midl_user_free(void * pBuffer);
pBuffer parametresi, boşaltılacak belleğe yönelik bir işaretçi belirtir. OSF uyumluluğu (/osf) modunda derlemediğiniz sürece hem istemci uygulaması hem de sunucu uygulaması midl_user_free işlevini uygulamalıdır. midl_user_free işlevinin midl_user_allocatetarafından ayrılan tüm depolama alanını boşaltabilmesi gerekir.
Uygulamalar ve saplamalar, ayrılmış nesnelerle ilgilenirken midl_user_free çağırır:
- Sunucu uygulaması, dinamik olarak ayrılmış bir veri düğümünü silerken olduğu gibi uygulama tarafından ayrılan belleği boşaltmak için midl_user_free çağırmalıdır.
- Sunucu saplaması, tüm [out] bağımsız değişkenlerini, [in],[out] bağımsız değişkenlerini ve işlev dönüş değerini sıraladıktan sonra sunucuda belleği serbest bırakmak için midl_user_free çağırır.
Örneğin, "Hello, world" ifadesini görüntüleyen RPC Windows örnek programı, C işlevi ücretsiz olarak midl_user_free uygular:
void __RPC_USER midl_user_free(void __RPC_FAR * p)
{
free(p);
}
Not
RpcSs paketi etkinse (örneğin, [ enable_allocate] özniteliğinin kullanılması sonucu), sunucu programınız belleği boşaltmak için rpcSmFreekullanmalıdır. Daha fazla bilgi için bkz. RpcSs Bellek Yönetim Paketi.