Compartilhar via


estrutura RPC_POLICY (rpcdce.h)

A estrutura RPC_POLICY contém sinalizadores que determinam a associação em computadores multihomed e alocações de porta ao usar os protocolos ncacn_ip_tcp e ncadg_ip_udp .

Sintaxe

typedef struct _RPC_POLICY {
  unsigned int  Length;
  unsigned long EndpointFlags;
  unsigned long NICFlags;
} RPC_POLICY, *PRPC_POLICY;

Membros

Length

Tamanho da estrutura RPC_POLICY , em bytes. O membro Length permite compatibilidade com versões futuras dessa estrutura, que podem conter campos adicionais. Sempre defina Length igual a sizeof(RPC_POLICY) ao inicializar a estrutura RPC_POLICY em seu código.

EndpointFlags

Conjunto de sinalizadores que determinam os atributos da porta ou das portas em que o servidor recebe chamadas de procedimento remoto. Você pode especificar mais de um sinalizador (usando o operador OR bit a bit) do conjunto de valores para uma determinada sequência de protocolo. A tabela a seguir lista os valores possíveis para o membro EndpointFlags .

Valor Significado
0
Especifica o padrão do sistema.
RPC_C_USE_INTERNET_PORT
Aloca o ponto de extremidade de uma das portas definidas no registro como "Internet Disponível". Válido somente com sequências de protocolo ncacn_ip_tcp e ncadg_ip_udp .
RPC_C_USE_INTRANET_PORT
Aloca o ponto de extremidade de uma das portas definidas no registro como "Intranet Disponível". Válido somente com sequências de protocolo ncacn_ip_tcp e ncadg_ip_udp .
RPC_C_MQ_TEMPORARY
A fila de processo de recebimento do servidor será excluída automaticamente quando o servidor RPC for encerrado. Todas as chamadas pendentes ainda na fila serão perdidas. Esse é o padrão. Válido somente com a sequência de protocolo ncadg_mq .
RPC_C_MQ_PERMANENT
Especifica que a fila de processo de recebimento do servidor persiste após a saída do processo do servidor. O padrão é que a fila seja excluída quando o processo do servidor for encerrado. Válido somente com ncadg_mq sequência de protocolo.
RPC_C_MQ_CLEAR_ON_OPEN
Se a fila de recebimento já existir porque foi aberta anteriormente como uma fila permanente, desmarque todas as chamadas pendentes aguardando na fila. Válido somente com a sequência de protocolo ncadg_mq.
RPC_C_MQ_USE_EXISTING_SECURITY
Se a fila de recebimento já existir, não modifique suas configurações existentes para autenticação ou criptografia. Válido somente com a sequência de protocolo ncadg_mq.
RPC_C_MQ_AUTHENTICATE
A fila de processo de recebimento do servidor aceita apenas chamadas autenticadas de clientes. O padrão é que chamadas autenticadas e não autenticadas sejam aceitas. Válido somente com ncadg_mq sequência de protocolo.
RPC_C_MQ_ENCRYPT
As chamadas para o servidor são criptografadas. O padrão é que chamadas criptografadas e não criptografadas sejam aceitas. Válido somente com ncadg_mq sequência de protocolo.
RPC_C_MQ_AUTHN_LEVEL_NONE
A fila de recebimento do servidor aceita todas as chamadas dos clientes. Esse é o nível de autenticação padrão. Válido somente com o protocolo ncadg_mq .
RPC_C_MQ_AUTHN_LEVEL_PKT_INTEGRITY
Define a fila de recebimento do servidor para aceitar apenas chamadas de cliente que têm nível de autenticação RPC_C_AUTHN_LEVEL_PKT_INTEGRITY ou RPC_C_AUTHN_LEVEL_PKT_PRIVACY. Válido somente com a sequência de protocolo ncadg_mq.
RPC_C_MQ_AUTHN_LEVEL_PKT_PRIVACY
Define a fila de recebimento do servidor para aceitar apenas chamadas de cliente que têm nível de autenticação RPC_C_AUTHN_LEVEL_PKT_PRIVACY. Chamadas com um nível de autenticação mais baixo são ignoradas. Válido somente com a sequência de protocolo ncadg_mq.
 
 
Nota Se o registro não contiver nenhuma das chaves que especificam as políticas padrão, o membro EndpointFlags não terá efeito no tempo de execução. Se uma chave estiver ausente ou contiver um valor inválido, toda a configuração desse protocolo ( ncacn_ip_tcp, ncadg_ip_udp ou ncadg_mq) será marcada como inválida e todas as chamadas para funções RpcServerUseProtseq* sobre esse protocolo falharão.
 

NICFlags

Política para associação a NICs (Cartões de Interface de Rede). A tabela a seguir lista os valores possíveis para o membro NICFlags .

Valor Significado
0
Associa-se a NICs com base nas configurações do Registro. Sempre use esse valor quando estiver usando a estrutura RPC_POLICY para definir as propriedades da fila de mensagens.
RPC_C_BIND_TO_ALL_NICS
Substitui as configurações e as associações do Registro a todas as NICs. Se a chave Bind estiver ausente do registro, o membro NICFlags não terá efeito no tempo de execução. Se a chave contiver um valor inválido, toda a configuração será marcada como inválida e todas as chamadas para RpcServerUseProtseq* falharão.

Comentários

Você pode usar a estrutura RPC_Policy para definir políticas para chamadas de procedimento remoto em tempo de execução. Essas políticas incluem:

  • Enfileiramento de mensagens: permite que o servidor especifique propriedades de enfileiramento de mensagens, como segurança, qualidade de entrega e tempo de vida da fila de processo do servidor. Essa política só é eficaz para chamadas remotas por meio do transporte de enfileiramento de mensagens (ncadg_mq).
  • Alocação de porta para portas dinâmicas: especifica se o ponto de extremidade registrado por esse aplicativo deve ir para o conjunto de portas disponíveis para a Internet ou intranet.
  • Associação seletiva: permite que computadores multihomed se associem seletivamente às NICs.
Nota As políticas de alocação de porta e associação seletiva são eficazes apenas para chamadas remotas por conexões TCP ( ncacn_ip_tcp) e UDP ( ncadg_ip_udp). Para obter mais informações, consulte Configurando o Registro para Alocações de Porta e Associação Seletiva.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho rpcdce.h (inclua Rpc.h)

Confira também

Configurando o Registro para Alocações de Porta e Associação Seletiva

Enfileiramento de mensagens RPC

RpcServerUseAllProtseqsEx

RpcServerUseAllProtseqsIfEx

RpcServerUseProtseqEpEx

RpcServerUseProtseqEx

RpcServerUseProtseqIfEx