ORDeleteKey 函式
從離線登錄區中刪除子機碼及其值。
語法
DWORD ORDeleteKey(
_In_ ORHKEY Handle,
_In_opt_ PCWSTR lpSubKey
);
參數
-
控制碼 [in]
-
離線登錄區中開啟登錄機碼的控制碼。 ORCreateKey或OROpenKey函式會傳回這個控制碼。
-
lpSubKey [in, optional]
-
要刪除的金鑰名稱。 它必須是 Handle 識別之索引鍵的子機碼,但不能有子機碼。
如果子機碼不存在,函式會傳回ERROR_NOT_FOUND。
如果此參數為 Null,函式會刪除 Handle 參數所指定的索引鍵。 如果 Handle 參數指定的索引鍵是 hive 的根索引鍵,則函式會傳回ERROR_INVALID_PARAMETER。
索引鍵名稱不區分大小寫。
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來取得錯誤的泛型描述。 可能的錯誤碼包括下列各項:
- 如果指定的子機碼不存在,函式會傳回ERROR_FILE_NOT_FOUND。
- 如果指定的子機碼是登錄區根機碼,則函式會傳回ERROR_INVALID_PARAMETER。
- 如果指定的子機碼有子機碼,函式會傳回ERROR_KEY_HAS_CHILDREN。
備註
如果指定的登錄機碼存在,則會將其標示為已刪除。 在關閉最後一個控制碼之前,不會移除已刪除的索引鍵。
要刪除的索引鍵不得有子機碼。 若要刪除索引鍵及其所有子機碼,請使用 OREnumKey 函式列舉子機碼並個別刪除它們。
只有 ORCloseKey 函式可以在已刪除的金鑰上呼叫;所有其他離線登錄作業都會失敗。 如果藉由呼叫 ORCreateKey明確建立已刪除的金鑰,則會在關閉已刪除金鑰的最後一個控制碼時釋放與金鑰相關聯的資源。
規格需求
需求 | 值 |
---|---|
可轉散發套件 |
Windows 離線登錄程式庫 1.0 版或更新版本 |
標頭 |
|
DLL |
|
另請參閱