atributo notify
O atributo [notify] instrui o compilador MIDL a gerar uma chamada para um procedimento [notify] no lado do servidor do aplicativo.
[notify] procedure-name();
-
nome do procedimento
-
O nome do procedimento remoto ao qual o procedimento de notificação será associado.
O procedimento [notify] chamado como resultado do atributo [notify] está associado a um procedimento remoto específico no servidor. É semelhante em conceito a uma função de retorno de chamada. O stub chama o procedimento [notify] depois que todos os argumentos de saída do procedimento remoto ao qual ele está associado foram empacotados e qualquer memória associada aos parâmetros é liberada. A rotina [notificar] será chamada se uma chamada falhar antes que a rotina do servidor seja executada. Por exemplo, se um servidor falhar durante a desmarcação devido ao recebimento de dados inválidos do cliente, a rotina [notificar] será chamada.
O atributo [notify] é útil para desenvolver aplicativos que adquiram recursos em procedimentos remotos. Esses recursos são liberados no procedimento [notify] depois que os parâmetros de saída do procedimento remoto são totalmente empacotados.
O nome do procedimento [notify] é o nome do procedimento remoto sufixo por _notify. O procedimento _notify não requer parâmetros e não retorna um resultado. Um protótipo desse procedimento também é gerado no arquivo de cabeçalho. Por exemplo, se o arquivo IDL contiver o seguinte:
MyProcedure([in] short S);
Especifique o seguinte no ACF para MIDL para gerar a chamada _notify :
[notify] MyProcedure();
O compilador MIDL gerará o código stub do servidor que contém a seguinte chamada para o procedimento _notify :
MyProcedure_notify();
O arquivo de cabeçalho conterá um protótipo:
void MyProcedure_notify(void);
[notify] MyProcedure();