Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O atributo [context_handle_serialize] ACF garante que um handle de contexto será sempre serializado, independentemente do comportamento padrão da aplicação.
typedef [context_handle_serialize [ , type-acf-attribute-list ] ] context-handle-type;
[context_handle_serialize [, function-acf-attribute-list ] ] function-name( );
function-name(
[context_handle_serialize [ , parameter-acf-attribute-list ] ] param-name );
Parâmetros
-
type-acf-attribute-list
-
Quaisquer outros atributos ACF que se aplicam ao tipo.
-
tipo de alça de contexto
-
O identificador que especifica o tipo de handle de contexto, conforme definido numa declaração typedef . Este é o tipo que recebe o atributo [context_handle_serialize] no ficheiro IDL.
-
função-acf-lista-atributos-
-
Quaisquer atributos adicionais de ACF que se apliquem à função.
-
Nome da função
-
O nome da função conforme definido no ficheiro IDL.
-
parameter-acf-attribute-list
-
Quaisquer outros atributos ACF que se apliquem ao parâmetro.
-
Nome de Param
-
O nome do parâmetro conforme definido no ficheiro IDL.
Observações
O atributo [context_handle_serialize] identifica um handle de ligação que mantém informação de contexto ou estado no servidor entre chamadas de procedimentos remotos. O atributo pode aparecer como um atributo tipo IDL typedef , como um atributo do tipo de retorno de função ou como um atributo de parâmetro.
Por defeito, as chamadas nos controlos de contexto são serializadas, mas uma aplicação pode chamar o RpcSsDontSerializeContext para sobrepor este comportamento padrão. A utilização do atributo [context_handle_serialize] num ficheiro ACF garante que as chamadas neste handle de contexto específico serão serializadas, mesmo que a aplicação que chama tenha sobreposto a serialização por defeito. Uma rotina de resumo do contexto é opcional.
Este atributo está disponível na versão 5.0 do MIDL.
Windows Server 2003 e Windows XP ou posteriores: Uma única interface pode acomodar tanto handles de contexto serializados como não serializados, permitindo que um método numa interface aceda exclusivamente a um handle de contexto (serializado), enquanto outros métodos acedam a esse handle de contexto em modo partilhado (não serializado). Estas capacidades de acesso são comparáveis aos mecanismos de bloqueio de leitura/escrita; Métodos que usam um handle de contexto serializado são utilizadores exclusivos (escritores), enquanto métodos que usam um handle de contexto não serializado são utilizadores partilhados (leitores). Os métodos que destroem ou modificam o estado de um handle de contexto devem ser serializados. Métodos que não modificam o estado de um handle de contexto, como aqueles que simplesmente leem de um handle de contexto, podem ser não serializados. Note-se que os métodos de criação são implicitamente serializados.
Exemplos
typedef [context_handle_serialize] PCONTEXT_HANDLE_TYPE;
HRESULT RemoteFunc([context_handle_serialize] pCxHandle);
Consulte também