atributo midl_user_allocate
A função midl_user_allocate é uma função que os aplicativos cliente e servidor fornecem para alocar memória.
void __RPC_FAR * __RPC_API midl_user_allocate (size_t cBytes);
Parâmetros
-
cBytes
-
Especifica a contagem de bytes a serem alocados.
Comentários
Os aplicativos cliente e os aplicativos de servidor devem implementar a função midl_user_allocate , a menos que você esteja compilando no modo de compatibilidade com OSF (/osf). Aplicativos e stubs gerados chamam midl_user_allocate ao lidar com objetos referenciados por ponteiros:
- O aplicativo de servidor deve chamar midl_user_allocate para alocar memória para o aplicativo", por exemplo, ao criar um novo nó.
- As chamadas stub do servidor midl_user_allocate ao demarsar dados apontados no espaço de endereço do servidor.
- O stub do cliente chama midl_user_allocate ao cancelar a gravação de dados do servidor referenciado por um ponteiro de saída . Observe que, para ponteiros [in], [out], e [unique] , as chamadas stub do cliente midl_user_allocate somente se o valor do ponteiro [exclusivo] fosse NULL na entrada e se alterasse para um valor não NULL durante a chamada. Se o ponteiro [exclusivo] não for NULL na entrada, o stub do cliente gravará os dados associados na memória existente.
Se midl_user_allocate não alocar memória, ele deverá retornar um ponteiro NULL .
É recomendável que midl_user_allocate retorne um ponteiro alinhado a 8 bytes.
Exemplos
#include <windows.h>
void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes)
{
return(malloc(cBytes));
}
Confira também