Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La routine KeSrcuAllocate alloue et initialise une partition en lectureCopy-Update (SRCU) en veille à des fins de synchronisation.
Syntaxe
PKE_SRCU KeSrcuAllocate(
[in] ULONG Tag
);
Paramètres
[in] Tag
Valeur de balise à quatre caractères utilisée pour identifier cette instance SRCU.
Valeur retournée
KeSrcuAllocate retourne un pointeur vers l’instance SRCU allouée en cas de réussite ou NULL si l’allocation échoue.
Remarques
KeSrcuAllocate crée un domaine de synchronisation SRCU qui permet à plusieurs lecteurs d’accéder simultanément aux données partagées tout en garantissant des mises à jour sécurisées. SRCU diffère de la RCU standard dans laquelle les lecteurs peuvent dormir pendant la conservation du verrou de lecture.
La partition SRCU retournée par cette fonction doit être libérée à l’aide de KeSrcuFree quand elle n’est plus nécessaire.
Chaque partition SRCU est indépendante et conserve ses propres périodes de grâce. SRCU est conçu pour les scénarios où les lecteurs peuvent avoir besoin de dormir ou d’effectuer des opérations bloquantes.
Le paramètre Tag doit être unique pour aider à identifier l’instance pendant le débogage.
Modèle d’utilisation classique
- Appelez KeSrcuAllocate pour créer une partition SRCU.
- Utilisez KeSrcuReadLock et KeSrcuReadUnlock pour la synchronisation de lecteur.
- Utilisez KeSrcuSynchronize pour attendre la fin du lecteur avant les mises à jour.
- Appelez KeSrcuFree pour nettoyer quand vous avez terminé.
Spécifications
| Requirement | Valeur |
|---|---|
| plateforme cible | Universal |
| Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | < DISPATCH_LEVEL |