ORCreateKey 函式

在離線登錄區中建立指定的登錄機碼。 如果索引鍵已經存在,函式就會開啟它。

語法

DWORD ORCreateKey(
  _In_      ORHKEY               Handle,
  _In_      PCWSTR               lpSubKey,
  _In_opt_  PWSTR                lpClass,
  _In_opt_  DWORD                dwOptions,
  _In_opt_  PSECURITY_DESCRIPTOR pSecurityDescriptor,
  _Out_     PORHKEY              phkResult,
  _Out_opt_ PDWORD               pdwDisposition
);

參數

控制碼 [in]

離線登錄區中開啟登錄機碼的控制碼。

lpSubKey [in]

Unicode 字串的指標,其中包含此函式開啟或建立的子機碼名稱。 lpSubKey參數必須指定Handle參數所識別之索引鍵的子機碼;在登錄樹狀結構中,最多可以有 32 個層級。 如需機碼名稱的詳細資訊,請參閱 登錄的結構

此參數不可為 Null

索引鍵名稱不區分大小寫。

lpClass [in, optional]

類別 (此索引鍵) 物件類型。 此參數可能會被忽略。 此參數可以是 Null

dwOptions [in, optional]

此參數可以是 0 或下列其中一個值。

意義
REG_OPTION_CREATE_LINK
0x00000002L
索引鍵是符號連結。 目標路徑會指派給索引鍵的 L「SymbolicLinkValue」 值。 目標路徑必須是絕對登錄路徑。 如果已設定此選項, 也必須設定REG_OPTION_NON_VOLATILE
如果 lpSubKey 參數指定現有的金鑰,則必須使用 REG_OPTION_CREATE_LINK來建立它。
只有在絕對需要應用程式相容性時,才應該使用登錄符號連結。
REG_OPTION_NON_VOLATILE
0x00000000L
索引鍵不是變動的;這是預設值。 此資訊會儲存在檔案中,並在重新開機系統時保留。 ORSaveHive 函式會儲存非變動性的索引鍵。

 

pSecurityDescriptor [in, optional]

包含新金鑰之安全性描述元 之SECURITY_DESCRIPTOR 結構的指標。 如果 pSecurityDescriptorNull,金鑰會取得預設的安全性描述元。 金鑰的預設安全性描述元中的 ACL 會繼承自其直接父金鑰。

phkResult [out]

接收已開啟或已建立索引鍵控制碼之變數的指標。 使用 ORCloseKey 函式,在您使用控制碼完成之後關閉金鑰。

pdwDisposition [out, optional]

接收下列其中一個處置值的變數指標。

意義
REG_CREATED_NEW_KEY
0x00000001L
索引鍵不存在且已建立。
REG_OPENED_EXISTING_KEY
0x00000002L
索引鍵已存在,而且只是開啟而不需要變更。

 

如果 pdwDispositionNull,則不會傳回任何處置資訊。

傳回值

如果函式成功,傳回值會ERROR_SUCCESS。

如果函式失敗,傳回值是 Winerror.h 中定義的非零錯誤碼。 您可以使用 FormatMessage 函式搭配 FORMAT_MESSAGE_FROM_SYSTEM 旗標來取得錯誤的泛型描述。

如果 dwOptions 參數是以 REG_OPTION_CREATE_LINK 設定,REG_OPTION_NON_VOLATILE 清楚,或者要傳回的控制碼會是 hive 根索引鍵的控制碼,則函式會傳回ERROR_INVALID_PARAMETER。

備註

ORCreateKey函式所建立的索引鍵沒有值。 應用程式可以使用 ORSetValue 函式來設定索引鍵值。

ORCreateKey函式無法用來在離線登錄區中建立根機碼。 使用 ORCreateHive 函式 來建立根索引鍵,並取得金鑰的控制碼。

離線登錄不支援儲存個別金鑰。 使用 ORSaveHive 函式 ,將金鑰及其子機碼儲存在 Hive 中。

規格需求

需求
可轉散發套件
Windows 離線登錄程式庫 1.0 版或更新版本
標頭
Offreg.h
DLL
Offreg.dll

另請參閱

ORCloseKey

ORCreateHive

ORDeleteKey

ORSaveHive

SECURITY_DESCRIPTOR