ZwDeleteValueKey 函式 (wdm.h)

ZwDeleteValueKey常式會從登錄中開啟的機碼中刪除符合名稱的值專案。 如果沒有這類專案存在,則會傳回錯誤。

語法

NTSYSAPI NTSTATUS ZwDeleteValueKey(
  [in] HANDLE          KeyHandle,
  [in] PUNICODE_STRING ValueName
);

參數

[in] KeyHandle

登錄機碼的控制碼,其中包含感興趣的值專案。 此金鑰必須已開啟,KEY_SET_VALUE設定為所需的存取權。 此控制碼是由成功呼叫 ZwCreateKeyZwOpenKey所建立。

[in] ValueName

包含要刪除之值專案名稱 之UNICODE_STRING 結構的指標。 如果值專案沒有名稱,這個參數可以是空字串。

傳回值

ZwDeleteValueKey 會傳回STATUS_SUCCESS或代表作業最終完成狀態的適當錯誤狀態。 可能的錯誤狀態碼包括:

傳回碼 描述
STATUS_ACCESS_DENIED
KeyHandle控制碼沒有KEY_SET_VALUE存取權。
STATUS_INSUFFICIENT_RESOURCES
此函式所需的其他資源無法使用。
STATUS_INVALID_HANDLE
指定的 KeyHandle 參數是 Null 指標,或不是開啟登錄機碼的有效指標。
STATUS_OBJECT_NAME_NOT_FOUND
找不到 ValueName 登錄機碼專案。

備註

傳遞至ZwDeleteValueKeyKeyHandle必須已開啟,才能成功刪除存取權。 KEY_SET_VALUE、KEY_WRITE和KEY_ALL_ACCESS的 DesiredAccess 值包含刪除存取所需的KEY_SET_VALUE存取遮罩。 如需 DesiredAccess可能值的描述,請參閱 ZwCreateKey

如果已為此登錄機碼註冊回呼函式,則會呼叫這些回呼函式。

設備磁碟機不應嘗試直接呼叫 ZwDeleteValueKey ,以刪除 \Registry 子機碼中的值專案 。\ResourceMap 機碼。 只有系統可以寫入或刪除 \Registry 中的值專案 。\HardwareDescription 樹狀結構。

注意 如果呼叫此函式發生在使用者模式中,您應該使用名稱 「NtDeleteValueKey」 而不是 「ZwDeleteValueKey」。
 
對於核心模式驅動程式的呼叫,Windows 原生系統服務常式的NtXxxZwXxx版本在處理和解譯輸入參數的方式可能會有不同的行為。 如需常式NtXxxZwXxx版本之間的關聯性詳細資訊,請參閱使用 Nt 和 Zw 版本的原生系統服務常式

規格需求

   
最低支援的用戶端 從 Windows 2000 開始提供。
目標平臺 環球
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h、Fltkernel.h)
程式庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI 合規性規則 HwStorPortProhibitedDDIs (storport) PowerIrpDDis (wdm)

另請參閱

使用原生系統服務常式的 Nt 和 Zw 版本

ZwCreateKey

ZwDeleteKey

ZwEnumerateValueKey

ZwOpenKey

ZwQueryValueKey

ZwSetValueKey