Partilhar via


Registrando a interface

O registro da interface suportada por um programa de servidor permite que chamadas de procedimento remoto de programas cliente sejam despachadas 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 a partir do arquivo IDL que define a interface (ou interfaces) para o servidor. O segundo e terceiro parâmetros são um UUID e um vetor de ponto de entrada, respectivamente. Eles são definidos como NULL neste exemplo. Em muitos casos, o programa do servidor definirá esses valores de parâmetro como NULL. Os programas de servidor usam o segundo e terceiro parâmetros quando fornecem várias implementações dos mesmos procedimentos em uma interface. Para obter mais informações, consulte Entry-Point Vectors.

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

Observação

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 de servidor da estrutura produzida pelo MIDL.