Fonction KeInitializeSemaphore (wdm.h)
La routine KeInitializeSemaphore initialise un objet sémaphore avec un nombre spécifié et spécifie une limite supérieure que le nombre peut atteindre.
Syntaxe
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
Paramètres
[out] Semaphore
Pointeur vers un objet de répartiteur de type sémaphore, pour lequel l’appelant fournit le stockage.
[in] Count
Spécifie la valeur du nombre initial à affecter au sémaphore. Cette valeur doit être positive. Une valeur différente de zéro définit l’état initial du sémaphore sur signalé.
[in] Limit
Spécifie la valeur maximale du nombre que le sémaphore peut atteindre. Cette valeur doit être positive. Il détermine le nombre de threads en attente éligibles à l’exécution lorsque le sémaphore est défini sur l’état signalé et peut donc accéder à la ressource que le sémaphore protège.
Valeur de retour
None
Remarques
L’objet sémaphore est initialisé avec le nombre initial et la limite spécifiés.
Le stockage d’un objet sémaphore doit être résident : dans l’extension d’appareil d’un objet d’appareil créé par le pilote, dans l’extension contrôleur d’un objet contrôleur créé par le pilote ou dans un pool non paginé alloué par l’appelant.
Pour plus d’informations sur les objets sémaphores, consultez Objets sémaphores.
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 | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport),IrqlKeDispatchLte(wdm), PowerIrpDDis(wdm) |