Compartir a través de


atributo midl_user_allocate

La función midl_user_allocate es una función que proporcionan las aplicaciones cliente y servidor para asignar memoria.

void __RPC_FAR * __RPC_API midl_user_allocate (size_t cBytes);

Parámetros

cBytes

Especifica el recuento de bytes que se van a asignar.

Observaciones

Tanto las aplicaciones cliente como las aplicaciones de servidor deben implementar la función midl_user_allocate , a menos que esté compilando en modo de compatibilidad con OSF (/osf). Las aplicaciones y los códigos auxiliares generados llaman a midl_user_allocate cuando se trabaja con objetos a los que hacen referencia los punteros:

  • La aplicación de servidor debe llamar a midl_user_allocate para asignar memoria para la aplicación, por ejemplo, al crear un nuevo nodo.
  • El código auxiliar del servidor llama a midl_user_allocate al desacoplar datos apuntados en el espacio de direcciones del servidor.
  • El código auxiliar del cliente llama a midl_user_allocate al desacoplar datos del servidor al que hace referencia un puntero de salida . Tenga en cuenta que para los punteros [in], [out] y [unique], el código auxiliar del cliente llama a midl_user_allocate solo si el valor de puntero [único] era NULL en la entrada y cambia a un valor no NULL durante la llamada. Si el puntero [único] no era NULL en la entrada, el código auxiliar del cliente escribe los datos asociados en la memoria existente.

Si midl_user_allocate no puede asignar memoria, debe devolver un puntero NULL .

Se recomienda que midl_user_allocate devuelva un puntero alineado a 8 bytes.

Ejemplos

#include <windows.h>

void __RPC_FAR * __RPC_API midl_user_allocate(size_t cBytes) 
{ 
    return(malloc(cBytes)); 
}

Vea también

Asignar

Matrices

Matrices y punteros

Atributos de matriz y Sized-Pointer

En

midl_user_free

/Osf

out

Ptr

Ref

unique