Funzione KeInitializeSemaphore (wdm.h)
La routine KeInitializeSemaphore inizializza un oggetto semaforo con un conteggio specificato e specifica un limite superiore che il conteggio può raggiungere.
Sintassi
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
Parametri
[out] Semaphore
Puntatore a un oggetto dispatcher di tipo semaforo, per il quale il chiamante fornisce lo spazio di archiviazione.
[in] Count
Specifica il valore del conteggio iniziale da assegnare al semaforo. Questo valore deve essere positivo. Un valore diverso da zero imposta lo stato iniziale del semaforo su segnalato.
[in] Limit
Specifica il valore massimo di conteggio che il semaforo può raggiungere. Questo valore deve essere positivo. Determina il numero di thread in attesa che diventano idonei per l'esecuzione quando il semaforo è impostato sullo stato segnalato e può quindi accedere alla risorsa che il semaforo protegge.
Valore restituito
Nessuno
Osservazioni
L'oggetto semaforo viene inizializzato con il conteggio iniziale e il limite specificati.
L'archiviazione per un oggetto semaforo deve essere residente: nell'estensione del dispositivo di un oggetto dispositivo creato dal driver, nell'estensione del controller di un oggetto controller creato dal driver o in un pool non di pagine allocato dal chiamante.
Per altre informazioni sugli oggetti semaforo, vedere Semaphore Objects.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 2000. |
piattaforma di destinazione | Universale |
intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
regole di conformità DDI | HwStorPortProhibitedDDIs(storport), IrqlKeDispatchLte(wdm), PowerIrpDDis(wdm) |