Compartilhar via


Identificadores implícitos versus explícitos

Para declarar um identificador de serialização, use o tipo de identificador primitivo handle_t. Os identificadores de serialização podem ser explícitos ou implícitos. Especifique identificadores implícitos no ACF do aplicativo usando o atributo [implicit_handle]. O compilador MIDL gerará uma variável de identificador de serialização global. Procedimentos de serialização com um identificador implícito usam essa variável global para acessar um contexto de serialização válido.

Ao usar a codificação de tipo, as rotinas geradas que dão suporte à serialização de um tipo específico usam o identificador implícito global para acessar o contexto de serialização. Observe que as rotinas remotas podem precisar usar o identificador implícito como um identificador de associação. Verifique se o identificador implícito está definido como um identificador de serialização válido antes de fazer uma chamada de serialização.

Um identificador explícito é especificado como um parâmetro do protótipo do procedimento de serialização no arquivo IDL ou também pode ser especificado usando o atributo [explicit_handle] no ACF. O parâmetro de identificador explícito é usado para estabelecer o contexto de serialização adequado para o procedimento. Para estabelecer o contexto correto no caso de serialização de tipo, o compilador gera as rotinas de suporte que usam parâmetro handle_t explícito como o identificador de serialização. Você deve fornecer um identificador de serialização válido ao chamar uma rotina de suporte de tipo de serialização ou procedimento de serialização.