Partager via


ExSetResourceOwnerPointer, fonction (wdm.h)

La routine ExSetResourceOwnerPointer définit le pointeur de thread propriétaire pour une ressource executive.

Syntaxe

void ExSetResourceOwnerPointer(
  [in, out] PERESOURCE Resource,
  [in]      PVOID      OwnerPointer
);

Paramètres

[in, out] Resource

Pointeur vers une ressource executive appartenant au thread actuel.

[in] OwnerPointer

Pointeur vers un pointeur de thread propriétaire de type ERESOURCE_THREAD (pour des exigences supplémentaires, consultez la section Remarques suivante).

Valeur de retour

Aucun

Remarques

ExSetResourceOwnerPointer, utilisé conjointement avec ExReleaseResourceForThreadLite, fournit un moyen pour un thread (agissant en tant que thread de gestionnaire de ressources) d’acquérir et de libérer des ressources à utiliser par un autre thread (agissant en tant que thread d’utilisateur de ressource).

Après avoir appelé ExSetResourceOwnerPointer pour une ressource spécifique, la seule autre routine qui peut être appelée pour cette ressource est ExReleaseResourceForThreadLite.

Le thread Resource Manager acquiert la propriété de la ressource et transmet la propriété au thread utilisateur en appelant ExSetResourceOwnerPointer. L’appelant doit allouer la mémoire pour la valeur ERESOURCE_THREAD pointée par OwnerPointer dans la mémoire système, et cette mémoire doit rester allouée jusqu’à ce que ExReleaseResourceForThreadLite retourne. L’appelant doit également définir les deux bits de faible ordre de la valeur de ERESOURCE_THREAD pointée par OwnerPointer à une : cet encodage est utilisé en interne par les services de ressources pour faire la distinction entre les adresses de propriétaire et de thread.

Lorsque le thread utilisateur est terminé avec la ressource, le thread resource manager libère la propriété du thread utilisateur de la ressource en appelant ExReleaseResourceForThreadLite. Le paramètre d’entrée ResourceThreadId est défini sur la valeur du paramètre OwnerPointer utilisé dans l’appel précédent à ExSetResourceOwnerPointer qui a donné la propriété du thread de travail de la ressource.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 2000.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport)

Voir aussi

ExReleaseResourceForThreadLite