RegFlushKey 函式 (winreg.h)
將指定的開啟登錄機碼的所有屬性 (Attribute) 寫入登錄中。
語法
LSTATUS RegFlushKey(
[in] HKEY hKey
);
參數
[in] hKey
開啟登錄機碼的句柄。 金鑰必須已以KEY_QUERY_VALUE訪問許可權開啟。 如需詳細資訊,請參閱 登錄機碼安全性和訪問許可權。
RegCreateKeyEx、RegCreateKeyTransacted、RegOpenKeyEx 或 RegOpenKeyTransacted 函式會傳回此句柄。 它也可以是下列其中一個 預先定義的索引鍵:
- HKEY_CLASSES_ROOT
- HKEY_CURRENT_CONFIG
- HKEY_CURRENT_USER
- HKEY_LOCAL_MACHINE
- HKEY_PERFORMANCE_DATA
- HKEY_USERS
傳回值
如果函式成功,傳回值會ERROR_SUCCESS。
如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標,以取得錯誤的一般描述。
備註
呼叫 RegFlushKey 是一項昂貴的作業,會大幅影響整個系統的效能,因為它會耗用磁碟頻寬,並封鎖登錄區中所有進程修改所有密鑰的修改,直到排清作業完成為止。 只有在應用程式必須保證登錄變更在修改後立即保存到磁碟時,才應該明確呼叫 RegFlushKey。 其他進程可以看到對索引鍵所做的所有修改,而不需要將它們排清到磁碟。
或者,登錄具有「延遲排清」機制,會定期排清對磁碟的登錄修改。 除了此一般排清作業之外,登錄變更也會排清到系統關機時的磁碟。 允許「延遲排清」排清登錄變更,是管理對磁碟上登錄存放區之登錄寫入的最有效率方式。
只有當包含指定索引鍵的Hive所有數據都已寫入磁碟上的登錄存放區時, RegFlushKey 函式才會傳回。
RegFlushKey 函式會寫出Hive中自上次延遲排清或系統啟動後已修改之其他索引鍵的數據。
在 RegFlushKey 傳回之後,請使用 RegCloseKey 關閉登錄機碼的句柄。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winreg.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |