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

Rastreia o recurso.

Sintaxe

HRESULT TrackResource(
  [in] const RESID __MIDL__IHolder0003
);

Parâmetros

[in] __MIDL__IHolder0003

O identificador do recurso a ser rastreado. O Distribuidor de Recursos já criou esse recurso antes de chamar TrackResource.

Retornar valor

Esse método pode retornar os valores a seguir.

Código de retorno Descrição
S_OK
O método foi concluído com sucesso.
E_INVALIDARG
ResId não é um identificador de recurso válido.
E_FAIL
O método falhou. O recurso não foi rastreado. A causa provável é que a transação do chamador esteja anulando.

Comentários

Alguns recursos não são mantidos no inventário; eles são sempre fabricados sob demanda. O Holder é usado apenas como um mecanismo para liberar automaticamente os recursos restantes no final do tempo de vida de um objeto.

TrackResource informa ao Holder que um recurso deve ser rastreado até que ele seja liberado chamando IHolder::UntrackResource ou até que o objeto chamado TrackResource seja liberado, momento em que o Gerenciador de Distribuidores libera automaticamente o recurso.

Se TrackResource for chamado de um objeto transacional, ele chamará de volta para o método IDispenserDriver::EnlistResource do Distribuidor de Recursos. O método EnlistResource pode inscrever o recurso na transação ou pode retornar S_FALSE, indicando que o recurso não é capaz de transação e não foi inscrito.

Esse recurso é eventualmente destruído depois que ambos os seguintes são verdadeiros:

  • O Distribuidor de Recursos chama IHolder::UntrackResource (provavelmente a pedido do componente) ou o tempo de vida do objeto termina.
  • A transação na qual o recurso foi inscrito (se houver) foi feita.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho comsvcs.h

Confira também

IDispenserDriver

IDispenserManager

IHolder