Atributos de tipo
Os atributos de tipo são os atributos MIDL que podem ser aplicados a declarações de tipo:
O atributo [switch_type] designa o tipo de discriminador sindical. Esse atributo se aplica apenas a uma união não encapsulada.
Um identificador de contexto é um ponteiro com um atributo [context_handle] . O atributo [context_handle] permite que você escreva procedimentos que mantêm informações de estado entre chamadas de procedimento remoto. Um identificador de contexto com um valor não nulo representa o contexto salvo e atende a duas finalidades:
- No lado do cliente, ele contém as informações necessárias para a biblioteca de tempo de execução RPC para direcionar a chamada para o servidor.
- No lado do servidor, ele serve como um identificador no contexto ativo.
O atributo [handle] especifica que um tipo pode ocorrer como um identificador definido pelo usuário (genérico). Esse recurso permite o design de identificadores que são significativos para o aplicativo. O usuário deve fornecer rotinas de associação e desassociação para converter entre o tipo de identificador definido pelo usuário e o tipo de identificador primitivo RPC , handle_t. Um identificador primitivo contém informações de destino significativas para as bibliotecas de tempo de execução RPC. Um identificador definido pelo usuário só pode ser definido em uma declaração de tipo, não em uma declaração de função. Um parâmetro com o atributo [handle] tem uma finalidade dupla. Ele é usado para determinar a associação para a chamada e é transmitido para o procedimento chamado como um parâmetro de dados normal.