Compartilhar via


Função RpcServerInqCallAttributesA (rpcasync.h)

A função RpcServerInqCallAttributes é uma chamada de servidor RPC que obtém atributos de contexto de segurança do cliente.

Sintaxe

RPC_STATUS RpcServerInqCallAttributesA(
  [in]      RPC_BINDING_HANDLE ClientBinding,
  [in, out] void               *RpcCallAttributes
);

Parâmetros

[in] ClientBinding

Opcional. Para associação explícita dentro de uma rotina de servidor, ClientBinding é o identificador de associação com o qual a rotina do gerente foi chamada. Consulte Observações.

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 estrutura que recebe atributos de chamada.

Retornar valor

Retorna RPC_S_OK após o sucesso e RpcCallAttributes é preenchido. Se ERROR_MORE_DATA for retornado, um ou mais campos em RpcCallAttributes não foram suficientes e não puderam ser preenchidos. Consulte Comentários em RPC_CALL_ATTRIBUTES_V2 para obter detalhes sobre como lidar com ERROR_MORE_DATA.

Após a falha, o conteúdo de RpcCallAttributes é indefinido e pode ser parcialmente modificado pelo RPC.

Nota Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Comentários

A função RpcServerInqCallAttributes usa um esquema de controle de versão para incorporar novos recursos sem precisar introduzir novas funções com identificadores de sufixo. Por exemplo, uma segunda versão do RPC_CALL_ATTRIBUTES_V2, identificada com uma #define simples no cabeçalho, pode adicionar novos membros para facilitar a nova funcionalidade incorporada a versões futuras da função RpcServerInqCallAttributes , sem precisar liberar uma função chamada RpcServerInqCallAttributesEx.

Se a função RpcServerInqCallAttributes for chamada fora de uma rotina de servidor e se a chamada de função consultar os atributos de contexto de segurança para uma chamada RPC assíncrona, ClientBinding poderá ser recuperado chamando a função RpcAsyncGetCallHandle do identificador assíncrono.

A função RpcServerInqCallAttributes não tem suporte para sequências de protocolo de datagrama, como ncadg_*. Se invocado em uma chamada que é executada em uma sequência de protocolo de datagram, RPC_S_CANNOT_SUPPORT é retornado.

A função RpcServerInqCallAttributes é thread-safe.

Exemplos

RPC_CALL_ATTRIBUTES CallAttributes;  // this maps to RPC_CALL_ATTRIBUTES_V1

memset(&CallAttributes, 0, sizeof(CallAttributes));
CallAttributes.Version = RPC_CALL_ATTRIBUTES_VERSION;    // maps to 1
CallAttributes.Flags = ;//....
Status = RpcServerInqCallAttributes(0, &ClientContextAttributes);

Observação

O cabeçalho rpcasync.h define RpcServerInqCallAttributes como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho rpcasync.h (inclua Rpc.h)
Biblioteca Rpcrt4.lib
DLL Rpcrt4.dll

Confira também

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle