Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A função RpcServerRegisterIf3 registra uma interface com a biblioteca de tempo de execução RPC.
Sintaxe
RPC_STATUS RpcServerRegisterIf3(
[in] RPC_IF_HANDLE IfSpec,
[in, optional] UUID *MgrTypeUuid,
[in, optional] RPC_MGR_EPV *MgrEpv,
[in] unsigned int Flags,
[in] unsigned int MaxCalls,
[in] unsigned int MaxRpcSize,
[in, optional] RPC_IF_CALLBACK_FN *IfCallback,
[in, optional] void *SecurityDescriptor
);
Parâmetros
[in] IfSpec
Estrutura gerada por MIDL que indica a interface a ser registrada.
[in, optional] MgrTypeUuid
Ponteiro para um UUID de tipo a ser associado ao parâmetro MgrEpv . Especificar um valor de parâmetro nulo (ou um UUID nulo) registra IfSpec com um UUID de tipo nulo.
[in, optional] MgrEpv
EPV (vetor de ponto de entrada) das rotinas de gerente. Para usar o EPV padrão gerado por MIDL, especifique um valor nulo . Para obter mais informações, consulte RPC_MGR_EPV.
[in] Flags
Sinalizadores. Para obter uma lista de valores de sinalizador, consulte Sinalizadores de registro de interface.
[in] MaxCalls
Número máximo de solicitações de chamada de procedimento remoto simultâneas que o servidor pode aceitar em uma interface de escuta automática . O parâmetro MaxCalls só é aplicável em uma interface de escuta automática e é ignorado em interfaces que não são de escuta automática. A biblioteca de tempo de execução RPC faz seu melhor esforço para garantir que o servidor não permita mais solicitações de chamada simultâneas do que o número de chamadas especificadas em MaxCalls. O número real pode ser maior e pode variar para cada sequência de protocolo.
As chamadas em outras interfaces são regidas pelo valor do parâmetro MaxCalls em todo o processo especificado na chamada de função RpcServerListen .
Se o número de chamadas simultâneas não for uma preocupação, você poderá obter um desempenho ligeiramente melhor do lado do servidor especificando o valor padrão usando RPC_C_LISTEN_MAX_CALLS_DEFAULT. Isso alivia o ambiente de tempo de execução do RPC de impor uma restrição desnecessária.
[in] MaxRpcSize
Tamanho máximo de blocos de dados de entrada, em bytes. Esse parâmetro pode ser usado para ajudar a evitar ataques de negação de serviço mal-intencionados. Se o bloco de dados de uma chamada de procedimento remoto for maior que MaxRpcSize, a biblioteca de tempo de execução RPC rejeitará a chamada e enviará um erro de RPC_S_ACCESS_DENIED para o cliente. Especificar um valor de (unsigned int) –1 para esse parâmetro remove o limite do tamanho dos blocos de dados de entrada. Esse parâmetro não tem efeito sobre chamadas feitas pelo protocolo ncalrpc .
[in, optional] IfCallback
Função de retorno de chamada de segurança ou NULL para nenhum retorno de chamada. Cada interface registrada pode ter uma função de retorno de chamada diferente. Consulte os Comentários sobre RpcServerRegisterIf2.
[in, optional] SecurityDescriptor
Descritor de segurança para acessar a interface RPC. Cada interface registrada pode ter um descritor de segurança diferente.
Retornar valor
Retorna RPC_S_OK após o êxito.
Comentários
Os parâmetros e efeitos da função RpcServerRegisterIf3 estendem os da função RpcServerRegisterIf2 . A diferença é a capacidade de especificar um descritor de segurança para controlar o acesso à interface RPC registrada.
Se SecurityDescriptor e IfCallbackFn forem especificados, o descritor de segurança em SecurityDescriptor será verificado primeiro e o retorno de chamada em IfCallbackFn será chamado após a marcar de acesso em relação ao descritor de segurança passar.
Ao chamar RpcServerRegisterIf3 com SecurityDescriptor definido como NULL ou chamar RpcServerRegisterIf, RpcServerRegisterIf2 ou RpcServerRegisterIfEx para registrar uma interface, um descritor de segurança padrão será usado. O descritor de segurança padrão não permitirá o acesso de nenhum processo AppContainer à interface se o servidor RPC não for um processo AppContainer. O descritor de segurança padrão não permitirá o acesso de nenhum processo em outros processos AppContainer à interface se o servidor RPC for um processo AppContainer. O descritor de segurança padrão permitirá o acesso de processos normais, incluindo processos de baixa integridade.
Requisitos
| Requisito | Valor |
|---|---|
| Cliente mínimo com suporte | Windows 8 [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows Server 2012 [somente aplicativos da área de trabalho] |
| Plataforma de Destino | Windows |
| Cabeçalho | rpcdce.h (inclua Rpc.h) |
| Biblioteca | Rpcrt4.lib |
| DLL | Rpcrt4.dll |