Compartir a través de


atributo context_handle_noserialize

El atributo ACF [context_handle_noserialize] garantiza que nunca se serializará un identificador de contexto, independientemente del comportamiento predeterminado de la aplicación.

typedef [context_handle_noserialize [ , type-acf-attribute-list ] ] context-handle-type

[context_handle_noserialize [, function-acf-attribute-list ] ] function-name( );

function-name (   [context_handle_noserialize 
  [ , parameter-acf-attribute-list ] ] param-name );

Parámetros

type-acf-attribute-list

Cualquier otro atributo de ACF que se aplique al tipo.

context-handle-type

Identificador que especifica el tipo de identificador de contexto, tal como se define en una declaración typedef . Este es el tipo que recibe el atributo [context_handle] en el archivo IDL.

function-acf-attribute-list

Cualquier atributo ACF adicional que se aplique a la función.

nombre de función

Nombre de la función tal y como se define en el archivo IDL.

parameter-acf-attribute-list

Cualquier otro atributo de ACF que se aplique al parámetro .

param-name

Nombre del parámetro tal y como se define en el archivo IDL.

Comentarios

El atributo [context_handle] identifica un identificador de enlace que mantiene el contexto o la información de estado en el servidor entre llamadas a procedimiento remoto. El atributo puede aparecer como un atributo de tipo typedef IDL, como atributo de tipo devuelto de función o como atributo de parámetro.

De forma predeterminada, las llamadas en identificadores de contexto se serializan. Una aplicación puede llamar a RpcSsDontSerializeContext para invalidar este comportamiento predeterminado. El uso del atributo [context_handle] en un archivo ACF garantiza que las llamadas a este identificador de contexto concreto no se serializarán, independientemente del comportamiento de la aplicación que realiza la llamada. Proporcionar una rutina de ejecución de contexto es opcional.

Este atributo está disponible en MIDL versión 5.0.

Windows Server 2003 y Windows XP o posterior: Una sola interfaz puede dar cabida a los identificadores de contexto serializados y no serializados, lo que permite que un método en una interfaz tenga acceso exclusivamente a un identificador de contexto (serializado), mientras que otros métodos acceden a ese controlador de contexto en modo compartido (no serializado). Estas funcionalidades de acceso son comparables a los mecanismos de bloqueo de lectura y escritura; los métodos que usan un identificador de contexto serializado son usuarios exclusivos (escritores), mientras que los métodos que usan un identificador de contexto no serializado son usuarios compartidos (lectores). Los métodos que destruyen o modifican el estado de un identificador de contexto deben serializarse. Los métodos que no modifican el estado de un controlador de contexto, como los métodos que simplemente leen de un identificador de contexto, se pueden norializar. Tenga en cuenta que los métodos de creación se serializan implícitamente.

Ejemplos

typedef [context_handle_noserialize] PCONTEXT_HANDLE_TYPE; 
HRESULT RemoteFunc([context_handle_noserialize] pCxHandle);

Vea también

Atributos de ACF

context_handle_serialize

context_handle

Identificadores de contexto

RpcSsDontSerializeContext

Rutina de ejecución del contexto del servidor

Clientes multiproceso y identificadores de contexto

Typedef