Función KeInitializeSemaphore (wdm.h)
El KeInitializeSemaphore rutina inicializa un objeto de semáforo con un recuento especificado y especifica un límite superior que puede alcanzar el recuento.
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
[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 tanto, puede acceder al recurso que protege el semáforo.
Ninguno
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 estar residente: 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.
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 2000. |
de la plataforma de destino de | Universal |
encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | PASSIVE_LEVEL |
reglas de cumplimiento de DDI | HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm), PowerIrpDDis(wdm) |