共用方式為


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 結構的指標,其中包含密鑰物件的安全性資訊。 此指標是從 SecurityDescriptorOBJECT_ATTRIBUTES 結構的成員取得,該成員在呼叫中傳遞為輸入參數,以建立新的登錄機碼。

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

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

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

CheckAccessMode

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

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

言論

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

此結構是 Windows Vista 所支援 REG_CREATE_KEY_INFORMATION 結構的擴充版本。 前14個成員在兩個結構中,CompleteNameTransaction相同。 REG_CREATE_KEY_INFORMATION_V1 結構的最後五個成員,Version 透過 checkAccessMode ,不是 REG_CREATE_KEY_INFORMATION 結構的一部分。

如果驅動程式的 RegistryCallback 例程傳回 STATUS_CALLBACK_BYPASS RegNtPreCreateKeyEx 通知,驅動程式必須提供 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