Share via


Função NdrConformantArrayUnmarshall (rpcndr.h)

A função NdrConformantArrayUnmarshall desmarca uma matriz compatível.

Sintaxe

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

Parâmetros

[in] pStubMsg

Ponteiro para uma estrutura MIDL_STUB_MESSAGE que mantém a status atual do stub RPC. Essa estrutura é apenas para uso interno e não deve ser modificada.

[out] ppMemory

Endereço para um ponteiro para o buffer em que a matriz compatível não é exibida. Se definido como nulo ou se o fMustAlloc estiver definido como TRUE, o stub alocará a memória.

[in] pFormat

Ponteiro para a descrição da cadeia de caracteres de formato.

[in] fMustAlloc

Sinalizador que especifica se o stub deve alocar a memória na qual a matriz compatível deve ser empacotada. Especifique TRUE se o RPC precisar alocar ppMemory.

Valor retornado

Retorna nulo após êxito. Se ocorrer um erro, a função lançará um dos seguintes códigos de exceção.

Código de retorno Descrição
RPC_BAD_STUB_DATA
A rede está incorreta.
RPC_X_INVALID_BOUND
A rede está incorreta.
RPC_S_OUT_OF_MEMORY
O sistema está sem memória.
STATUS_ACCESS_VIOLATION
Ocorreu uma violação de acesso.
RPC_S_INTERNAL_ERROR
Ocorreu um erro no RPC.

Comentários

A função NdrConformantArrayUnmarshall é usada pelo stub do lado do cliente e do servidor para remover omarshall de uma matriz compatível. O stub pode alocar memória conforme necessário. Por exemplo, pArray no exemplo nesta página aponta para uma matriz compatível.

NdrConformantArrayUnmarshall só deve ser chamado no contexto de um stub RPC, depois que o stub do cliente ou servidor tiver sido inicializado.

Exemplos

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

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho rpcndr.h (inclua Rpc.h)
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll