Compartir a través de


Platform::Agile (Clase)

Representa un objeto que tiene MashalingBehavior=Standard como objeto ágil, lo que reduce en gran medida las posibilidades de excepciones de subprocesamiento en tiempo de ejecución. Agile<T> permite que el objeto que no es Agile llame al mismo subproceso o a otro diferente, o que le llame a él. Para obtener más información, vea Subprocesos y serialización.

Sintaxis

template <typename T>
class Agile;

Parámetros

T
typename de la clase que no es Agile.

Comentarios

La mayoría de las clases de Windows Runtime son Agile. Un objeto Agile puede llamar a un objeto en proceso o fuera de proceso del mismo subproceso u otro diferente, o que le llame a él. Si un objeto no es Agile, ajuste el objeto que no Agile en un objeto Agile<T> , que es Agile. Se pueden calcular las referencias del objeto Agile<T> y se puede usar el objeto que no es Agile subyacente.

La clase Agile<T> es una clase de C++ estándar, nativa y requiere agile.h. Representa el objeto que no es Agile y el contextodel objeto Agile. El contexto especifica el modelo de subprocesos de un objeto Agile y el comportamiento del cálculo de referencias. El sistema operativo usa el contexto para determinar de qué manera calcular las referencias de un objeto.

Miembros

Constructores públicos

Nombre Descripción
Agile::Agile Inicializa una nueva instancia de la clase Agile.
Agile::~Agile (Destructor) Destruye la instancia actual de la clase Agile.

Métodos públicos

Nombre Descripción
Agile::Get Devuelve un identificador al objeto representado por el objeto Agile actual.
Agile::GetAddressOf Reinicializa el objeto Agile actual y luego devuelve la dirección de un identificador a un objeto de tipo T.
Agile::GetAddressOfForInOut Devuelve la dirección de un identificador al objeto representado por el objeto Agile actual.
Agile::Release Descarta el objeto y el contexto subyacentes del objeto Agile actual.

Operadores públicos

Nombre Descripción
Agile::operator-> Recupera un identificador al objeto representado por el objeto Agile actual.
Agile::operator= Asigna el valor especificado al objeto Agile actual.

Jerarquía de herencia

Object

Agile

Requisitos

Cliente mínimo compatible: Windows 8

Servidor mínimo compatible: Windows Server 2012

Espacio de nombres: Plataforma

Encabezado: agile.h

Agile::Agile (Constructor)

Inicializa una nueva instancia de la clase Agile.

Sintaxis

Agile();
Agile(T^ object);
Agile(const Agile<T>& object);
Agile(Agile<T>&& object);

Parámetros

T
Un tipo especificado por el parámetro typename de la plantilla.

object
En la segunda versión de este constructor, un objeto utilizado para inicializar una nueva instancia de Agile. En la tercera versión, el objeto que se copia en la nueva instancia de Agile. En la cuarta versión, el objeto que se mueve a la nueva instancia de Agile.

Comentarios

La primera versión de este constructor es el constructor predeterminado. La segunda versión inicializa una nueva clase de instancia de Agile del objeto especificado por el parámetro object. La tercera versión es el constructor de copias. La cuarta versión es el constructor de movimiento. Este constructor no puede producir excepciones.

Agile::~Agile (Destructor)

Destruye la instancia actual de la clase Agile.

Sintaxis

~Agile();

Comentarios

Este destructor también libera el objeto representado por el objeto Agile actual.

Agile::Get (Método)

Devuelve un identificador al objeto representado por el objeto Agile actual.

Sintaxis

T^ Get() const;

Valor devuelto

Un identificador al objeto representado por el objeto Agile actual.

El tipo del valor devuelto es realmente un tipo interno no revelado. Una manera cómoda de contener el valor devuelto es asignarlo a una variable que se declara con la palabra clave de deducción de tipos auto. Por ejemplo, auto x = myAgileTvariable->Get();.

Agile::GetAddressOf (Método)

Reinicializa el objeto Agile actual y luego devuelve la dirección de un identificador a un objeto de tipo T.

Sintaxis

T^* GetAddressOf() throw();

Parámetros

T
Un tipo especificado por el parámetro typename de la plantilla.

Valor devuelto

Dirección de un identificador para un objeto de tipo T.

Comentarios

Esta operación libera la representación actual de un objeto de tipo T, si existe; reinicializa los miembros de datos del objeto Agile; adquiere el contexto de subproceso actual y, a continuación, devuelve la dirección de una variable de identificador a objeto que puede representar un objeto no ágil. Para hacer que una instancia de la clase Agile represente un objeto, use el operador de asignación (Agile::operator=) a fin de asignar el objeto a la instancia de la clase Agile.

Agile::GetAddressOfForInOut (Método)

Devuelve la dirección de un identificador al objeto representado por el objeto Agile actual.

Sintaxis

T^* GetAddressOfForInOut()  throw();

Parámetros

T
Un tipo especificado por el parámetro typename de la plantilla.

Valor devuelto

La dirección de un identificador al objeto representado por el objeto Agile actual.

Comentarios

Esta operación adquiere el contexto de subprocesos actual y devuelve después la dirección de un identificador al objeto subyacente.

Agile::Release (Método)

Descarta el objeto y el contexto subyacentes del objeto Agile actual.

Sintaxis

void Release() throw();

Comentarios

Si existen, el objeto y el contexto subyacentes del objeto Agile actual se descartan y, a continuación, el valor del objeto Agile se establece en null.

Operador Agile::operator->

Recupera un identificador al objeto representado por el objeto Agile actual.

Sintaxis

T^ operator->() const throw();

Valor devuelto

Identificador al objeto representado por el objeto Agile actual.

Este operador devuelve realmente un tipo interno no revelado. Una manera cómoda de contener el valor devuelto es asignarlo a una variable que se declara con la palabra clave de deducción de tipos auto.

Agile::operator= (Operador)

Asigna el objeto especificado al objeto Agile actual.

Sintaxis

Agile<T> operator=( T^ object ) throw();
Agile<T> operator=( const Agile<T>& object ) throw();
Agile<T> operator=( Agile<T>&& object ) throw();
T^ operator=( IUnknown* lp ) throw();

Parámetros

T
Tipo especificado por el nombre de tipo de plantilla.

object
Objeto o identificador de un objeto que se copia o se mueve al objeto Agile actual.

Lp
Puntero de interfaz IUnknown de un objeto.

Valor devuelto

Identificador para un objeto de tipo T.

Comentarios

La primera versión del operador de asignación copia un identificador para un tipo de referencia al objeto Agile actual. La segunda versión copia una referencia a un tipo Agile al objeto Agile actual. La tercera versión mueve un tipo Agile al objeto Agile actual. La cuarta versión mueve un puntero a un objeto COM al objeto Agile actual.

La operación de asignación conserva automáticamente el contexto del objeto Agile actual.

Consulte también

Espacio de nombres de plataforma