KeInitializeSemaphore 函式 (wdm.h)
KeInitializeSemaphore 例程會使用指定的計數初始化旗號物件,並指定計數可以取得的上限。
語法
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
參數
[out] Semaphore
呼叫端提供記憶體之旗號類型的發送器物件的指標。
[in] Count
指定要指派給旗號的初始計數值。 這個值必須是正數。 非零值會將旗號的初始狀態設定為已發出訊號。
[in] Limit
指定旗號可以取得的最大計數值。 這個值必須是正數。 它會決定當旗號設定為訊號狀態時,等候線程會變成符合執行資格,因此可以存取旗號所保護的資源。
傳回值
無
備註
旗號物件是以指定的初始計數和限制初始化。
旗號物件的記憶體必須位於:位於驅動程式建立裝置對象的裝置延伸模組、驅動程式建立控制器物件的控制器延伸模組,或呼叫端所配置的非分頁集區中。
如需旗號對象的詳細資訊,請參閱 旗號物件。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平台 | Universal |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDDIs (storport) 、 IrqlKeDispatchLte (wdm) 、 PowerIrpDDis (wdm) |