⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xp+.inc

📁 用汇编语言编写Windows驱动程序的工具
💻 INC
字号:

GUID STRUCT					; sizeof = 010h
	Data1	DWORD		?	; 0000h
	Data2	WORD		?	; 0004h
	Data3	WORD		?	; 0006h
	Data4	BYTE		8 dup(<?>)	; 0008h
GUID ENDS

; ntdddisk (XP)

Fix ntdddisk.h ( XP+ )

IOCTL_DISK_GET_LENGTH_INFO equ CTL_CODE(IOCTL_DISK_BASE, 17h, METHOD_BUFFERED, FILE_READ_ACCESS)

GET_LENGTH_INFORMATION STRUCT
	_Length	LARGE_INTEGER <>
GET_LENGTH_INFORMATION ENDS
PGET_LENGTH_INFORMATION typedef ptr GET_LENGTH_INFORMATION

IOCTL_DISK_GET_PARTITION_INFO_EX    equ CTL_CODE(IOCTL_DISK_BASE, 0012h, METHOD_BUFFERED, FILE_ANY_ACCESS)

; There are currently two ways a disk can be partitioned. With a traditional
; AT-style master boot record (PARTITION_STYLE_MBR) and with a new, GPT
; partition table (PARTITION_STYLE_GPT). RAW is for an unrecognizable
; partition style. There are a very limited number of things you can
; do with a RAW partititon.

;typedef enum _PARTITION_STYLE {
    PARTITION_STYLE_MBR	equ 0
    PARTITION_STYLE_GPT	equ 1
    PARTITION_STYLE_RAW	equ 2

; The following structure defines information in an MBR partition that is not
; common to both GPT and MBR partitions.

PARTITION_INFORMATION_MBR STRUCT	; sizeof = 8
	PartitionType		BYTE	?
	BootIndicator		BOOLEAN	?
	RecognizedPartition	BOOLEAN	?
						db		?
	HiddenSectors		DWORD	?
PARTITION_INFORMATION_MBR ENDS
PPARTITION_INFORMATION_MBR typedef ptr PARTITION_INFORMATION_MBR

comment ^
PARTITION_INFORMATION_MBR STRUCT
	PartitionType		BYTE	?	; UCHAR
	BootIndicator		BOOLEAN	?
	RecognizedPartition	BOOLEAN	?
	HiddenSectors		DWORD	?
PARTITION_INFORMATION_MBR ENDS
PPARTITION_INFORMATION_MBR typedef ptr PARTITION_INFORMATION_MBR
^


; The following structure defines information in a GPT partition that is
; not common to both GPT and MBR partitions.

PARTITION_INFORMATION_GPT STRUCT		; sizeof = 70h
	PartitionType		GUID	<>		; Partition type. See table 16-3.
	PartitionId			GUID	<>		; Unique GUID for this partition.
	Attributes			QWORD	?		; ULONG64 See table 16-4.
	Name				WORD 36 dup(?)	; WCHAR Partition Name in Unicode.
						db 28 dup(?)	; padding
PARTITION_INFORMATION_GPT ENDS
PPARTITION_INFORMATION_GPT typedef ptr PARTITION_INFORMATION_GPT

; The PARTITION_INFORMATION_EX structure is used with the
; IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX,
; IOCTL_DISK_GET_PARTITION_INFO_EX and IOCTL_DISK_GET_PARTITION_INFO_EX calls.

PARTITION_INFORMATION_EX STRUCT			; sizeof = 90h
	PartitionStyle			DWORD	?	; PARTITION_STYLE
							DWORD	?
	StartingOffset			LARGE_INTEGER <>
	PartitionLength			LARGE_INTEGER <>
	PartitionNumber			DWORD	?
	RewritePartition		BOOLEAN	?
							db 3 dup(?)
	union
		Mbr					PARTITION_INFORMATION_MBR <>
		Gpt					PARTITION_INFORMATION_GPT <>
	ends
PARTITION_INFORMATION_EX ENDS
PPARTITION_INFORMATION_EX typedef ptr PARTITION_INFORMATION_EX

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -