Como registrar a interface

Registrar a interface à qual um programa de servidor dá suporte permite que chamadas de procedimento remoto de programas cliente sejam expedidas para a rotina de servidor adequada. Programas de servidor chamam RpcServerRegisterIf para registrar suas interfaces. O fragmento de código a seguir demonstra seu uso:

RPC_STATUS status;
status = RpcServerRegisterIf(MyInterface_v1_0_s_ifspec, NULL, NULL);

O primeiro parâmetro para a função RpcServerRegisterIf é uma estrutura que o compilador MIDL gera do arquivo IDL que define a interface (ou interfaces) para o servidor. O segundo e o terceiro parâmetros são um UUID e um vetor de ponto de entrada, respectivamente. Eles são definidos como NULL neste exemplo. Em muitas instâncias, o programa de servidor definirá esses valores de parâmetro como NULL. Os programas de servidor usam o segundo e o terceiro parâmetros quando fornecem várias implementações dos mesmos procedimentos em uma interface. Para obter mais informações, consulte Vetores de ponto de entrada.

Os programas de servidor também podem usar RpcServerRegisterIfEx para registrar uma interface. Uma vantagem de usar essa função é que ela fornece ao aplicativo a capacidade de definir uma função de retorno de chamada de segurança. Usar funções de retorno de chamada de segurança é a abordagem recomendada para proteger uma interface.

Observação

MIDL produz duas estruturas muito semelhantes, uma para o cliente e outra para o servidor. A estrutura passada para a função RpcServerRegisterIf é a versão do servidor da estrutura produzida por MIDL.