REG_CREATE_KEY_INFORMATION_V1結構 (wdm.h)

REG_CREATE_KEY_INFORMATION_V1 結構包含篩選驅動程式的 RegistryCallback 例程在建立登錄機碼時可以使用的資訊。

語法

typedef struct _REG_CREATE_KEY_INFORMATION_V1 {
  PUNICODE_STRING CompleteName;
  PVOID           RootObject;
  PVOID           ObjectType;
  ULONG           Options;
  PUNICODE_STRING Class;
  PVOID           SecurityDescriptor;
  PVOID           SecurityQualityOfService;
  ACCESS_MASK     DesiredAccess;
  ACCESS_MASK     GrantedAccess;
  PULONG          Disposition;
  PVOID           *ResultObject;
  PVOID           CallContext;
  PVOID           RootObjectContext;
  PVOID           Transaction;
  ULONG_PTR       Version;
  PUNICODE_STRING RemainingName;
  ULONG           Wow64Flags;
  ULONG           Attributes;
  KPROCESSOR_MODE CheckAccessMode;
} REG_CREATE_KEY_INFORMATION_V1, REG_OPEN_KEY_INFORMATION_V1, *PREG_CREATE_KEY_INFORMATION_V1, *PREG_OPEN_KEY_INFORMATION_V1;

成員

CompleteName

包含新登錄機碼路徑 之UNICODE_STRING 結構的指標。 這個路徑可為絕對路徑或相對路徑。 如果路徑是絕對的,這個結構會包含以 “\” 字元開頭的完整路徑。 如果是絕對路徑, RootObject 成員會指定 \REGISTRY 機碼,這是登錄樹狀目錄的根目錄。 如果路徑是相對的,路徑會以 “\” 以外的字元開頭,且相對於 RootObject 成員所指定的索引鍵。

RootObject

登錄機碼物件的指標,代表 CompleteName 成員所指定之路徑的根登錄機碼。

ObjectType

此成員會保留供作業系統使用。 驅動程式不得存取此成員。

Options

指定要用來建立或開啟新金鑰之金鑰建立例程的選項。 如需詳細資訊,請參閱 ZwCreateKey 例程的 CreateOptions 參數描述,以及 ZwOpenKeyEx 例程之 OpenOptions 參數的描述。

Class

識別新索引鍵物件類別 之UNICODE_STRING 結構的指標。 如需此成員的詳細資訊,請參閱 ZwCreateKey 例程的 Class 參數。 此指標值可以是 NULL

SecurityDescriptor

包含金鑰物件安全性資訊的 SECURITY_DESCRIPTOR 結構的指標。 此指標是從呼叫中當做輸入參數傳遞的 OBJECT_ATTRIBUTES 結構的 SecurityDescriptor 成員取得,以建立新的登錄機碼。

SecurityQualityOfService

SECURITY_QUALITY_OF_SERVICE 結構的指標。 此結構指出伺服器是否可以模擬嘗試建立登錄機碼的用戶端,如果允許模擬,則允許它的範圍。

DesiredAccess

嘗試建立登錄機碼之線程所指定的存取掩碼。 如需此存取遮罩的詳細資訊,請參閱 ZwCreateKey 例程的 DesiredAccess 參數描述。

GrantedAccess

存取掩碼,表示已授與嘗試建立登錄機碼之線程的訪問許可權。 如需此成員的詳細資訊,請參閱下列一節。

Disposition

值,指出要求的登錄作業是否會建立新的機碼,或開啟現有的機碼。 如需此成員的詳細資訊,請參閱 ZwCreateKey 例程的 Disposition 參數描述,以及下列一節。

ResultObject

位置的指標,接收代表所建立登錄機碼之機碼對象的位址。

CallContext

驅動程式的 RegistryCallback 例程可以提供的選擇性驅動程式定義內容資訊。

RootObjectContext

驅動程式定義內容資訊的指標,驅動程式藉由呼叫 CmSetCallbackObjectContext 例程,與登錄物件路徑的根目錄相關聯。

Transaction

登錄作業之交易物件的指標。 您可以提供這個指標給 ObOpenObjectByPointer 例程,以取得對應的交易句柄。 如果這個成員是 NULL,則會在非交易內容中執行作業。

Version

結構版本號碼。 這個成員會區分 Windows Vista 中的 REG_CREATE_KEY_INFORMATION 結構,與 Windows 7 和更新版本中 的 REG_CREATE_KEY_INFORMATION_V1 結構。 目前已定義下列版本號碼。

版本號碼 結構的版本
0 REG_CREATE_KEY_INFORMATION
1 REG_CREATE_KEY_INFORMATION_V1
 

此結構的未來版本可能會新增成員,但不會變更已在現有結構版本中定義的成員。 這個成員定義於 Windows 7 和更新版本的 Windows 作業系統所支援的 REG_CREATE_KEY_INFORMATION_V1 結構中。 在 Windows Vista 支援的 REG_CREATE_KEY_INFORMATION 結構中,此成員的名稱為 [保留 ],且設定為零。 篩選驅動程式應該依賴版本號碼,而不是操作系統版本,以判斷其所使用的結構版本。

RemainingName

包含新登錄機碼相對路徑 之UNICODE_STRING 結構的指標。 這個成員一律會表示新索引鍵的路徑,相對於 RootObject 成員所指定的索引鍵路徑。 相反地,如果 RootObject 成員指定 \REGISTRY 機碼,CompleteName 成員可以包含絕對路徑。

Wow64Flags

包含從存取掩碼傳遞為輸入參數的 Wow64 旗標,以在呼叫中建立新的登錄機碼。 這個成員指出在64位版本的Windows上執行的32位用戶端程式是否嘗試建立登錄機碼。 此成員設定為零或設定為下列其中一個旗標位:

  • KEY_WOW64_32KEY
  • KEY_WOW64_64KEY
這些旗標位定義於 Wdm.h 和 Winnt.h 頭檔中。 如需這些旗標的詳細資訊,請參閱 登錄機碼安全性和訪問許可權

Attributes

包含呼叫中傳遞為輸入參數之 OBJECT_ATTRIBUTES 結構之 Attributes 成員的物件屬性旗標,以建立新的登錄機碼。 此成員可能包含下列一或多個旗標位:

  • OBJ_KERNEL_HANDLE
  • OBJ_FORCE_ACCESS_CHECK
  • OBJ_OPENLINK
如需這些旗標的詳細資訊,請參閱 OBJECT_ATTRIBUTES

CheckAccessMode

指出組態管理員如何執行安全性存取檢查,以進行呼叫以建立新的密鑰。 此成員包含 Wdm.h 頭檔中的下列其中一個 MODE 列舉值:

  • KernelMode
  • UserMode
此安全性檢查類似於 SeAccessCheck 例程所執行的檢查,其具有可設定為 UserMode 或 KernelModeAccessMode 參數。 如果 CheckAccessMode 設定為 UserMode,則不論呼叫是否源自使用者模式或核心模式,組態管理員都會執行完整的安全性存取檢查。 如需如何在源自核心模式的呼叫上強制使用者模式安全性存取檢查的詳細資訊,請參閱OBJECT_ATTRIBUTES結構的 Attributes 成員中 OBJ_FORCE_ACCESS_CHECK 旗標的描述。

備註

組態管理員會在每次線程嘗試建立機碼時,將此結構傳遞至 RegistryCallback 例程,例如,當使用者模式線程呼叫 RegCreateKey 或 RegCreateKeyEx,或內核模式驅動程式呼叫 ZwCreateKey 時。

此結構是 Windows Vista 支援的 REG_CREATE_KEY_INFORMATION 結構的擴充版本。 前14個成員 CompleteNameTransaction 在兩個結構中完全相同。 REG_CREATE_KEY_INFORMATION_V1 結構的最後 五個成員: VersionCheckAccessMode,不是 REG_CREATE_KEY_INFORMATION 結構的一部分。

如果驅動程式的 RegistryCallback 例程傳回 RegNtPreCreateKeyEx 通知的STATUS_CALLBACK_BYPASS,驅動程式必須提供 GrantedAccessDispositionResultObject 成員的值。

REG_CREATE_KEY_INFORMATION_V1 結構是篩選驅動程式可透過其 RegistryCallback 例程接收的其中一個結構。 如需登錄篩選作業的詳細資訊,請參閱 篩選登錄呼叫

規格需求

需求
最低支援的用戶端 適用於 Windows 7 和更新版本的 Windows 作業系統。
標頭 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)

另請參閱

CmSetCallbackObjectContext

OBJECT_ATTRIBUTES

ObOpenObjectByPointer

REG_CREATE_KEY_INFORMATION

RegCreateKey

RegCreateKeyEx

RegistryCallback

SECURITY_DESCRIPTOR

SECURITY_QUALITY_OF_SERVICE

UNICODE_STRING

ZwCreateKey