Fonction ExSetResourceOwnerPointer (wdm.h)
La routine ExSetResourceOwnerPointer définit le pointeur de thread propriétaire pour une ressource exécutive.
Syntaxe
void ExSetResourceOwnerPointer(
[in, out] PERESOURCE Resource,
[in] PVOID OwnerPointer
);
Paramètres
[in, out] Resource
Pointeur vers une ressource exécutive appartenant au thread actuel.
[in] OwnerPointer
Pointeur vers un pointeur de thread propriétaire de type ERESOURCE_THREAD (pour connaître les exigences supplémentaires, consultez la section Remarques suivante).
Valeur de retour
None
Remarques
ExSetResourceOwnerPointer, utilisé conjointement avec ExReleaseResourceForThreadLite, fournit un moyen pour un thread (agissant en tant que thread resource manager) d’acquérir et de libérer des ressources à utiliser par un autre thread (agissant en tant que thread 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 qu’ExReleaseResourceForThreadLite retourne. L’appelant doit également définir les deux bits d’ordre inférieur de la valeur ERESOURCE_THREAD pointée par OwnerPointer sur un . Cet encodage est utilisé en interne par les services de ressources pour faire la distinction entre les adresses propriétaire et thread.
Lorsque le thread utilisateur a 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 donnait au thread worker la propriété de la ressource.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 2000. |
Plateforme cible | Universal |
En-tête | wdm.h (inclure 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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour