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 |
---|---|
|
A rede está incorreta. |
|
A rede está incorreta. |
|
O sistema está sem memória. |
|
Ocorreu uma violação de acesso. |
|
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 |