Share via


Método IHolder::TrackResource (comsvcs.h)

Realiza un seguimiento del recurso.

Sintaxis

HRESULT TrackResource(
  [in] const RESID __MIDL__IHolder0003
);

Parámetros

[in] __MIDL__IHolder0003

Identificador del recurso al que se va a realizar el seguimiento. El dispensador de recursos ya ha creado este recurso antes de llamar a TrackResource.

Valor devuelto

Este método puede devolver los valores siguientes.

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
ResId no es un identificador de recursos válido.
E_FAIL
Error en el método. No se ha realizado un seguimiento del recurso. La causa probable es que se anule la transacción del autor de la llamada.

Comentarios

Algunos recursos no se mantienen en el inventario; siempre están fabricados a petición. El titular solo se usa como mecanismo para liberar automáticamente los recursos que quedan al final de la duración de un objeto.

TrackResource indica al Titular que se debe realizar un seguimiento de un recurso hasta que se libere llamando a IHolder::UntrackResource o hasta que se libere el objeto llamado TrackResource , en cuyo momento el Administrador de dispensadores libera automáticamente el recurso.

Si se llama a TrackResource desde un objeto transaccional, vuelve a llamar al método IDispenserDriver::EnlistResource del dispensador de recursos. El método EnlistResource puede dar de alta el recurso en la transacción, o bien puede devolver S_FALSE, lo que indica que el recurso no es capaz de realizar transacciones y no se ha inscrito.

Este recurso se destruye finalmente después de que se cumplan las dos condiciones siguientes:

  • El dispensador de recursos llama a IHolder::UntrackResource (lo más probable es que finalice la duración del componente).
  • La transacción en la que se inlistó el recurso (si existe) se realiza.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado comsvcs.h

Consulte también

IDispenserDriver

IDispenserManager

IHolder