Función KeInitializeSemaphore (wdm.h)
La rutina KeInitializeSemaphore inicializa un objeto de semáforo con un recuento especificado y especifica un límite superior que el recuento puede alcanzar.
Sintaxis
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
Parámetros
[out] Semaphore
Puntero a un objeto distribuidor de tipo semáforo, para el que el autor de la llamada proporciona el almacenamiento.
[in] Count
Especifica el valor de recuento inicial que se va a asignar al semáforo. Este valor debe ser positivo. Un valor distinto de cero establece el estado inicial del semáforo en señalizado.
[in] Limit
Especifica el valor de recuento máximo que puede alcanzar el semáforo. Este valor debe ser positivo. Determina cuántos subprocesos en espera son aptos para su ejecución cuando el semáforo se establece en el estado señalado y, por lo tanto, puede acceder al recurso que protege el semáforo.
Valor devuelto
None
Observaciones
El objeto de semáforo se inicializa con el recuento inicial y el límite especificados.
El almacenamiento de un objeto de semáforo debe residir: en la extensión del dispositivo de un objeto de dispositivo creado por el controlador, en la extensión del controlador de un objeto de controlador creado por el controlador o en un grupo no paginado asignado por el autor de la llamada.
Para obtener más información sobre los objetos de semáforo, vea Objetos de semáforo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm), PowerIrpDDis(wdm) |