Freigeben über


IHolder::TrackResource-Methode (comsvcs.h)

Verfolgt die Ressource nach.

Syntax

HRESULT TrackResource(
  [in] const RESID __MIDL__IHolder0003
);

Parameter

[in] __MIDL__IHolder0003

Der Handle der zu verfolgenden Ressource. Der Resource Dispenser hat diese Ressource bereits erstellt, bevor TrackResource aufgerufen wird.

Rückgabewert

Diese Methode kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
ResId ist kein gültiges Ressourcenhandle.
E_FAIL
Fehler bei der Methode. Die Ressource wurde nicht nachverfolgt. Die wahrscheinliche Ursache ist, dass die Transaktion des Aufrufers abgebrochen wird.

Hinweise

Einige Ressourcen werden nicht im Bestand gehalten. sie werden immer nach Bedarf hergestellt. Der Holder wird nur als Mechanismus verwendet, um die am Ende der Lebensdauer eines Objekts übrig gebliebenen Ressourcen automatisch freizugeben.

TrackResource teilt dem Holder mit, dass eine Ressource nachverfolgt werden soll, bis sie durch Aufrufen von IHolder::UntrackResource freigegeben wird, oder bis das Objekt, das TrackResource genannt wird, freigegeben wird. Zu diesem Zeitpunkt gibt der Dispenser-Manager die Ressource automatisch frei.

Wenn TrackResource von einem Transaktionsobjekt aufgerufen wird, wird die IDispenserDriver::EnlistResource-Methode des Resource Dispensers zurück aufgerufen. Die EnlistResource-Methode kann die Ressource in die Transaktion aufnehmen oder S_FALSE zurückgeben, was angibt, dass die Ressource nicht transaktionsfähig ist und nicht eingetragen wurde.

Diese Ressource wird schließlich zerstört, nachdem beides zutrifft:

  • Der Resource Dispenser ruft IHolder::UntrackResource auf (höchstwahrscheinlich auf Anforderung der Komponente), oder die Lebensdauer des Objekts endet.
  • Die Transaktion, in der die Ressource eingetragen wurde (falls vorhanden), wird abgeschlossen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile comsvcs.h

Weitere Informationen

IDispenserDriver

IDispenserManager

IHolder