Méthode IHolder ::TrackResource (comsvcs.h)
Effectue le suivi de la ressource.
Syntaxe
HRESULT TrackResource(
[in] const RESID __MIDL__IHolder0003
);
Paramètres
[in] __MIDL__IHolder0003
Handle de la ressource à suivre. Le distributeur de ressources a déjà créé cette ressource avant d’appeler TrackResource.
Valeur retournée
Cette méthode peut retourner les valeurs suivantes.
Code de retour | Description |
---|---|
|
La commande s'est correctement terminée. |
|
ResId n’est pas un handle de ressource valide. |
|
La méthode a échoué. La ressource n’a pas été suivie. La cause probable est que la transaction de l’appelant est en cours d’abandon. |
Remarques
Certaines ressources ne sont pas conservées en inventaire ; ils sont toujours fabriqués à la demande. Le titulaire est utilisé uniquement comme mécanisme pour libérer automatiquement les ressources restantes à la fin de la durée de vie d’un objet.
TrackResource indique au titulaire qu’une ressource doit être suivie jusqu’à ce qu’elle soit libérée en appelant IHolder ::UntrackResource, ou jusqu’à ce que l’objet appelé TrackResource soit libéré, à ce moment-là, le Gestionnaire de distribution libère automatiquement la ressource.
Si TrackResource est appelé à partir d’un objet transactionnel, il rappelle la méthode IDispenserDriver ::EnlistResource du générateur de ressources . La méthode EnlistResource peut inscrire la ressource dans la transaction, ou elle peut retourner S_FALSE, indiquant que la ressource n’est pas compatible avec la transaction et n’a pas été inscrite.
Cette ressource est finalement détruite une fois que les deux éléments suivants sont vrais :
- Le distributeur de ressources appelle IHolder ::UntrackResource (probablement à la demande du composant), ou la durée de vie de l’objet se termine.
- La transaction dans laquelle la ressource a été inscrite (le cas échéant) est effectuée.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | comsvcs.h |