KeInitializeSemaphore 函式 (wdm.h)
KeInitializeSemaphore 例程會使用指定的計數初始化號誌物件,並指定計數可以達到的上限。
語法
void KeInitializeSemaphore(
[out] PRKSEMAPHORE Semaphore,
[in] LONG Count,
[in] LONG Limit
);
參數
[out] Semaphore
信號類型的發送器物件的指標,呼叫端會提供記憶體。
[in] Count
指定要指派給號誌的初始計數值。 此值必須是正數。 非零值會將信號的初始狀態設定為已發出訊號。
[in] Limit
指定信號可以達到的最大計數值。 此值必須是正數。 它會決定當信號設定為訊號狀態時,有多少等候線程有資格執行,因此可以存取信號所保護的資源。
傳回值
沒有
言論
信號物件會以指定的初始計數和限制初始化。
信號對象的記憶體必須常駐:在驅動程式建立裝置對象的裝置延伸模組、驅動程式建立控制器物件的控制器擴充功能,或呼叫端所配置的非分頁集區中。
如需信號對象的詳細資訊,請參閱 Semaphore Objects。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 2000 開始提供。 |
目標平臺 | 普遍 |
標頭 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 合規性規則 | HwStorPortProhibitedDIS(storport),IrqlKeDispatchLte(wdm),PowerIrpDDis(wdm) |