Função RpcServerUseAllProtseqsEx (rpcdce.h)
A função RpcServerUseAllProtseqsEx informa à biblioteca de tempo de execução RPC para usar todas as sequências de protocolo com suporte para receber chamadas de procedimento remoto.
Sintaxe
RPC_STATUS RpcServerUseAllProtseqsEx(
unsigned int MaxCalls,
void *SecurityDescriptor,
PRPC_POLICY Policy
);
Parâmetros
MaxCalls
Comprimento da fila de lista de pendências para a sequência de protocolo ncacn_ip_tcp . Todas as outras sequências de protocolo ignoram esse parâmetro. Use RPC_C_PROTSEQ_MAX_REQS_DEFAULT para especificar o valor padrão. Consulte Observações.
SecurityDescriptor
Ponteiro para um parâmetro opcional fornecido para o subsistema de segurança. Usado somente para sequências de protocolo ncacn_np e ncalrpc . Todas as outras sequências de protocolo ignoram esse parâmetro. Não é recomendável usar um descritor de segurança no ponto de extremidade para tornar um servidor seguro. Esse parâmetro não aparece na especificação DCE para essa API.
Policy
Ponteiro para a estrutura RPC_POLICY , que permite substituir as políticas padrão para alocação de porta dinâmica e associação a NICs (placas de interface de rede) em computadores multihomed (computadores com várias placas de rede).
Valor retornado
Valor | Significado |
---|---|
|
A chamada foi bem-sucedida. |
|
Não há sequências de protocolo com suporte. |
|
Memória suficiente não está disponível. |
|
O descritor de segurança é inválido. |
Comentários
Definir o campo NICFlags da estrutura RPC_POLICY como zero torna essa API estendida funcionalmente equivalente ao RpcServerUseAllProtseqs original e o servidor será associado a NICs com base nas configurações no registro do sistema. Para obter informações sobre como as configurações do Registro definem as portas de Internet e intranet disponíveis, consulte Configuring the Registry for Port Allocations and Selective Binding.
Para cada sequência de protocolo registrada por um servidor, a biblioteca de tempo de execução RPC cria um ou mais pontos de extremidade por meio dos quais o servidor recebe solicitações de chamada de procedimento remoto. A biblioteca de tempo de execução RPC cria pontos de extremidade diferentes para cada sequência de protocolo. O nome do ponto de extremidade é gerado pelo tempo de execução do RPC ou pelo sistema operacional. Por exemplo, para ncacn_ip_tcp, o número da porta é determinado dinamicamente pelo tempo de execução do RPC, dependendo da disponibilidade e das configurações do Registro.
Os aplicativos devem ter cuidado para passar valores razoáveis em MaxCalls. Valores grandes em Servidor, Servidor Avançado ou Datacenter Server podem fazer com que uma grande quantidade de memória de pool não paginado seja usada. Usar um valor muito pequeno também é desfavorável, pois pode resultar em pacotes TCP SYN sendo atendidos pelo TCP RST do servidor se a fila de lista de pendências for esgotada. Um desenvolvedor de aplicativos deve equilibrar os requisitos de volume de memória versus escalabilidade ao determinar o valor adequado para MaxCalls.
Quando o computador está configurado para usar a associação seletiva, o retorno bem-sucedido não garante que o servidor tenha criado pontos de extremidade para todos os adaptadores de rede presentes no computador. O tempo de execução do RPC pode não escutar alguns adaptadores de rede, dependendo das configurações de associação seletiva. Além disso, se uma interface ainda não tiver recebido um endereço IP usando DHCP, o servidor RPC não escutará no adaptador de rede até que um endereço DHCP seja atribuído a ele. Um retorno bem-sucedido implica que o servidor está escutando em pelo menos um adaptador de rede; a lista completa dos identificadores de associação sobre os quais chamadas de procedimento remoto podem ser recebidas pode ser obtida com uma chamada para a função RpcServerInqBindings .
Para registrar seletivamente sequências de protocolo, um servidor chama RpcServerUseProtseqEx, RpcServerUseProtseqIfEx ou RpcServerUseProtseqEpEx. Consulte Associação do lado do servidor para obter uma descrição das rotinas que um servidor normalmente chamará depois de registrar sequências de protocolo.
Requisitos
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] |
Plataforma de Destino | Windows |
Cabeçalho | rpcdce.h (inclua Rpc.h) |
Biblioteca | Rpcrt4.lib |
DLL | Rpcrt4.dll |
Confira também
Configurando o registro para alocações de porta e associação seletiva