Compartilhar via


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

Alocar

Matrizes

Matrizes e ponteiros

Atributos de matriz e Sized-Pointer

Em

midl_user_free

/Osf

out

Ptr

Ref

unique