Compartir a través de


Función NdrConformantArrayUnmarshall (rpcndr.h)

La función NdrConformantArrayUnmarshall unmarshals una matriz conforme.

Sintaxis

unsigned char * NdrConformantArrayUnmarshall(
  [in]  PMIDL_STUB_MESSAGE pStubMsg,
  [out] unsigned char      **ppMemory,
  [in]  PFORMAT_STRING     pFormat,
  [in]  unsigned char      fMustAlloc
);

Parámetros

[in] pStubMsg

Puntero a una estructura de MIDL_STUB_MESSAGE que mantiene el estado actual del código auxiliar rpc. Esta estructura es solo para uso interno y no debe modificarse.

[out] ppMemory

Dirección a un puntero al búfer en el que la matriz conforme está sinmarshalled. Si se establece en null o si fMustAlloc está establecido en TRUE, el código auxiliar asignará la memoria.

[in] pFormat

Puntero a la descripción de la cadena de formato.

[in] fMustAlloc

Marca que especifica si el código auxiliar debe asignar la memoria en la que se va a serializar la matriz conforme. Especifique TRUE si RPC debe asignar ppMemory.

Valor devuelto

Devuelve null tras la operación correcta. Si se produce un error, la función produce uno de los siguientes códigos de excepción.

Código devuelto Descripción
RPC_BAD_STUB_DATA
La red es incorrecta.
RPC_X_INVALID_BOUND
La red es incorrecta.
RPC_S_OUT_OF_MEMORY
El sistema no tiene memoria.
STATUS_ACCESS_VIOLATION
Se ha producido una infracción de acceso.
RPC_S_INTERNAL_ERROR
Error en RPC.

Comentarios

La función NdrConformantArrayUnmarshall se usa tanto en el código auxiliar del lado cliente como en el servidor para desajustar una matriz conforme. El código auxiliar puede asignar memoria según sea necesario. Por ejemplo, pArray en el ejemplo de esta página apunta a una matriz compatible.

Solo se debe llamar a NdrConformantArrayUnmarshall en el contexto de un código auxiliar RPC, después de inicializar el código auxiliar del cliente o del servidor.

Ejemplos

void  ConfArray([in] long size,
        [in,size_is(size)] long *pArray);         // conformant array

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado rpcndr.h (incluya Rpc.h)
Library Rpcrt4.lib
Archivo DLL Rpcrt4.dll