Funzione KeInitializeSemaphore (wdm.h)
La routine KeInitializeSemaphore inizializza un oggetto semaforo con un conteggio specificato e specifica un limite superiore che il conteggio può ottenere.
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 l'archiviazione.
[in] Count
Specifica il valore del conteggio iniziale da assegnare al semaforo. Il valore deve essere positivo. Un valore diverso da zero imposta lo stato iniziale del semaforo su cui è stato segnalato.
[in] Limit
Specifica il valore massimo di conteggio che il semaforo può ottenere. Il 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 a pagina allocato dal chiamante.
Per altre informazioni sugli oggetti semafori, vedere Semaphore Objects.
Requisiti
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 | HwStorPortProhibitedDDDIs(storport), IrqlKeDispatchLte(wdm), PowerIrpDDis(wdm) |