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 Comentários.

[in, out] RpcCallAttributes

RPC_CALL_ATTRIBUTES_V2 estrutura que recebe atributos de chamada.

Valor de retorno

Retorna RPC_S_OK após o sucesso e RpcCallAttributes é preenchido. Se ERROR_MORE_DATA for retornado, um ou mais campos em RpcCallAttributes tiverem um comprimento insuficiente e não puderem 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.

Observação Para obter uma lista de códigos de erro válidos, consulte RPC Return Values.
 

Observações

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 integrada 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 recuperada chamando a função RpcAsyncGetCallHandle da alça assíncrona.

Não há suporte para a função RpcServerInqCallAttributes para sequências de protocolo de datagrama, como ncadg_*. Se invocado em uma chamada executada em uma sequência de protocolo de datagram, RPC_S_CANNOT_SUPPORT será 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);

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

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

Consulte também

RPC_CALL_ATTRIBUTES_V2

RpcAsyncGetCallHandle