ifs.inc

来自「用于查询PC机上的USB端口是否有设备挂接上」· INC 代码 · 共 662 行

INC
662
字号
ifndef IFSMgr_Device_ID
IFSMgr_Device_ID	EQU	00040H
IFSMgr_Init_Order	EQU	<10000H+V86MMGR_Init_Order>
FSD_Init_Order	EQU	<00100H+IFSMgr_Init_Order>
else

ifdef MASM
	.errnz IFSMgr_Device_ID - 0040h
endif

endif
ifdef MASM






ubuffer_t	equ	<dd>
pos_t		equ	<dd>
uid_t		equ	<db>
sfn_t		equ	<dw>
$F			equ	<dd>

	path_t		equ	<dd>
	string_t	equ	<dd>
	pid_t		equ	<dd>
	rh_t		equ	<dd>
	fh_t		equ	<dd>
	vfunc_t		equ	<dd>
	$P			equ	<dd>
	$I			equ	<dd>
	fsdwork struc
		dd	16 dup (?)
	fsdwork ends

endif

IFS_VERSION	EQU	030AH
IFS_REVISION	EQU	10H
MAX_PATH	EQU	260
LFNMAXNAMELEN	EQU	255
MAXIMUM_USERID	EQU	2
NULL_USER_ID	EQU	0
STATUS_PENDING	EQU	-1
STATUS_RAWLOCK	EQU	-2
STATUS_BUSY	EQU	-3
ANYPROID	EQU	-1
NF_PROCEXIT	EQU	111DH
NF_DRIVEUSE	EQU	0001H
NF_DRIVEUNUSE	EQU	0002H
NF_GETPRINTJOBID	EQU	0003H
NF_PRINTERUSE	EQU	0004H
NF_PRINTERUNUSE	EQU	0005H
NF_NetSetUserName	EQU	1181H
WIN32_CALLFLAG	EQU	04H
FSTYPE_LOCAL_FSD	EQU	0
FSTYPE_NET_FSD	EQU	1
FSTYPE_MAILSLOT_FSD	EQU	2
FSTYPE_CHARACTER_FSD	EQU	3
FORCE_LEV_UNC	EQU	0
FORCE_LEV_USE	EQU	1
FORCE_LEV_CLOSE_FILES	EQU	2
FORCE_LEV_CLEANUP	EQU	3
FORCE_LEV_BLAST	EQU	4
FS_PRIORITY_LOWEST	EQU	00H
FS_PRIORITY_LOW	EQU	20H
FS_PRIORITY_DEFAULT	EQU	40H
FS_PRIORITY_MEDIUM	EQU	80H
FS_PRIORITY_HIGH	EQU	0C0H
FS_PRIORITY_HIGHEST	EQU	100H
FS_ATTRIB_WIN95COMPAT	EQU	00000000H
FS_ATTRIB_LARGE_MEDIA	EQU	00000001H
FS_ATTRIB_ACCESS_METHOD_HINTS	EQU	00000002H
FS_SUPPRESS_MRU_MOUNT_ORDER	EQU	00000004H
ifndef rh_t
endif
ifndef fh_t
endif
ifndef fsdwork_t
endif

dos_time	STRUC
dt_time	DW	?
dt_date	DW	?
dos_time	ENDS

dos_time_rounded	STRUC
dtr_time_rounded	DW	?
dtr_date_rounded	DW	?
dtr_time	DW	?
dtr_date	DW	?
dtr_time_msec	DB	?
dos_time_rounded	ENDS
?UnionSize = 0
if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_buf	equ	<(dword ptr 0)>

if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_ul	equ	<(dword ptr 0)>

if size dos_time gt ?UnionSize
	?UnionSize = size dos_time
endif
aux_dt	equ	<(byte ptr 0)>

if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_vf	equ	<(dword ptr 0)>

if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_hf	equ	<(dword ptr 0)>

if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_ptr	equ	<(dword ptr 0)>

if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_str	equ	<(dword ptr 0)>

if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_pp	equ	<(dword ptr 0)>

if 4 gt ?UnionSize
	?UnionSize = 4
endif
aux_ui	equ	<(dword ptr 0)>


aux_t	STRUC
	DB	?UnionSize dup(?)
aux_t	ENDS

ifdef MASM

aux_data struc
  aux_dword	dd	?
aux_data ends

if @Version ge 600
	aux_ul 	textequ	<aux_data.aux_dword>
	aux_ui 	textequ	<aux_data.aux_dword>
	aux_vf 	textequ	<aux_data.aux_dword>
	aux_hf 	textequ	<aux_data.aux_dword>
	aux_ptr textequ	<aux_data.aux_dword>
	aux_str textequ	<aux_data.aux_dword>
	aux_pp 	textequ	<aux_data.aux_dword>
	aux_buf textequ	<aux_data.aux_dword>
	aux_dt	textequ	<aux_data.aux_dword>
else
	aux_ul 	equ	aux_dword
	aux_ui 	equ	aux_dword
	aux_vf 	equ	aux_dword
	aux_hf 	equ	aux_dword
	aux_ptr equ	aux_dword
	aux_str equ	aux_dword
	aux_pp 	equ	aux_dword
	aux_buf equ	aux_dword
	aux_dt	equ	aux_dword
endif

endif


ioreq	STRUC
ir_length	DD	?
ir_flags	DB	?
ir_user	DB	?
ir_sfn	DW	?
ir_pid	DD	?
ir_ppath	DD	?
ir_aux1	DB	SIZE aux_t DUP (?)
ir_data	DD	?
ir_options	DW	?
ir_error	DW	?
ir_rh	DD	?
ir_fh	DD	?
ir_pos	DD	?
ir_aux2	DB	SIZE aux_t DUP (?)
ir_aux3	DB	SIZE aux_t DUP (?)
ir_pev	DD	?
ir_fsd	DD	16 DUP (?)
ioreq	ENDS
ir_size	EQU	<ir_pos>
ir_conflags	EQU	<ir_pos>
ir_attr2	EQU	<ir_pos>
ir_attr	EQU	<ir_length>
ir_pathSkip	EQU	<ir_length>
ir_lananum	EQU	<ir_sfn>
ir_tuna	EQU	<ir_sfn>
ir_ptuninfo	EQU	<ir_data>
ir_namelen	EQU	<ir_options>
ir_sectors	EQU	<ir_options>
ir_status	EQU	<ir_options>
ir_data2	EQU	<ir_aux1.aux_buf>
ir_vfunc	EQU	<ir_aux1.aux_vf>
ir_hfunc	EQU	<ir_aux1.aux_hf>
ir_ppath2	EQU	<ir_aux1.aux_pp>
ir_volh	EQU	<ir_aux1.aux_ul>
ir_numfree	EQU	<ir_aux2.aux_ul>
ir_locklen	EQU	<ir_aux2.aux_ul>
ir_msglen	EQU	<ir_aux2.aux_ui>
ir_dostime	EQU	<ir_aux2.aux_dt>
ir_timeout	EQU	<ir_aux2.aux_ul>
ir_password	EQU	<ir_aux2.aux_ptr>
ir_drvh	EQU	<ir_aux2.aux_ptr>
ir_prtlen	EQU	<ir_aux2.aux_dt.dt_time>
ir_prtflag	EQU	<ir_aux2.aux_dt.dt_date>
ir_firstclus	EQU	<ir_aux2.aux_ul>
ir_mntdrv	EQU	<ir_aux2.aux_ul>
ir_cregptr	EQU	<ir_aux2.aux_ptr>
ir_uFName	EQU	<ir_aux2.aux_str>
ir_upath	EQU	<ir_aux3.aux_str>
ir_scratch	EQU	<ir_aux3.aux_ptr>
ir_drivenum	EQU	<ir_user>
NUM_HNDLMISC	EQU	8

hndlfunc	STRUC
hf_read	DD	?
hf_write	DD	?
hf_misc	DD	?
hndlfunc	ENDS

hndlmisc	STRUC
hm_version	DW	?
hm_revision	DB	?
hm_size	DB	?
hm_func	DD	NUM_HNDLMISC DUP (?)
hndlmisc	ENDS
HM_SEEK	EQU	0
HM_CLOSE	EQU	1
HM_COMMIT	EQU	2
HM_FILELOCKS	EQU	3
HM_FILETIMES	EQU	4
HM_PIPEREQUEST	EQU	5
HM_HANDLEINFO	EQU	6
HM_ENUMHANDLE	EQU	7
NUM_VOLFUNC	EQU	15

volfunc	STRUC
vfn_version	DW	?
vfn_revision	DB	?
vfn_size	DB	?
vfn_func	DD	NUM_VOLFUNC DUP (?)
volfunc	ENDS
VFN_DELETE	EQU	0
VFN_DIR	EQU	1
VFN_FILEATTRIB	EQU	2
VFN_FLUSH	EQU	3
VFN_GETDISKINFO	EQU	4
VFN_OPEN	EQU	5
VFN_RENAME	EQU	6
VFN_SEARCH	EQU	7
VFN_QUERY	EQU	8
VFN_DISCONNECT	EQU	9
VFN_UNCPIPEREQ	EQU	10
VFN_IOCTL16DRIVE	EQU	11
VFN_GETDISKPARMS	EQU	12
VFN_FINDOPEN	EQU	13
VFN_DASDIO	EQU	14
IFSFN_READ	EQU	0
IFSFN_WRITE	EQU	1
IFSFN_FINDNEXT	EQU	2
IFSFN_FCNNEXT	EQU	3
IFSFN_SEEK	EQU	10
IFSFN_CLOSE	EQU	11
IFSFN_COMMIT	EQU	12
IFSFN_FILELOCKS	EQU	13
IFSFN_FILETIMES	EQU	14
IFSFN_PIPEREQUEST	EQU	15
IFSFN_HANDLEINFO	EQU	16
IFSFN_ENUMHANDLE	EQU	17
IFSFN_FINDCLOSE	EQU	18
IFSFN_FCNCLOSE	EQU	19
IFSFN_CONNECT	EQU	30
IFSFN_DELETE	EQU	31
IFSFN_DIR	EQU	32
IFSFN_FILEATTRIB	EQU	33
IFSFN_FLUSH	EQU	34
IFSFN_GETDISKINFO	EQU	35
IFSFN_OPEN	EQU	36
IFSFN_RENAME	EQU	37
IFSFN_SEARCH	EQU	38
IFSFN_QUERY	EQU	39
IFSFN_DISCONNECT	EQU	40
IFSFN_UNCPIPEREQ	EQU	41
IFSFN_IOCTL16DRIVE	EQU	42
IFSFN_GETDISKPARMS	EQU	43
IFSFN_FINDOPEN	EQU	44
IFSFN_DASDIO	EQU	45
IFSFH_RES_UNC	EQU	01H
IFSFH_RES_NETWORK	EQU	08H
IFSFH_RES_LOCAL	EQU	10H
IFSFH_RES_CFSD	EQU	80H
RESOPT_UNC_REQUEST	EQU	01H
RESOPT_DEV_ATTACH	EQU	02H
RESOPT_UNC_CONNECT	EQU	04H
RESOPT_DISCONNECTED	EQU	08H
RESOPT_NO_CREATE	EQU	10H
RESOPT_STATIC	EQU	20H
RESTYPE_WILD	EQU	0
RESTYPE_DISK	EQU	1
RESTYPE_SPOOL	EQU	2
RESTYPE_CHARDEV	EQU	3
RESTYPE_IPC	EQU	4
FIRST_RESTYPE	EQU	RESTYPE_DISK
LAST_RESTYPE	EQU	RESTYPE_IPC
RESOPT_NO_IO	EQU	01H
IR_FSD_MOUNT	EQU	0
IR_FSD_VERIFY	EQU	2
IR_FSD_UNLOAD	EQU	3
IR_FSD_MOUNT_CHILD	EQU	4
IR_FSD_MAP_DRIVE	EQU	5
IR_FSD_UNMAP_DRIVE	EQU	6
ERROR_IFSVOL_EXISTS	EQU	284
IR_TUNA_NOTUNNEL	EQU	0
IR_TUNA_FSDTUNNEL	EQU	0
IR_TUNA_IFSTUNNEL	EQU	1
PNPE_SUCCESS	EQU	00H
PNPE_QUERY_ACCEPTED	EQU	00H
PNPE_QUERY_REFUSED	EQU	01H
PNPE_BAD_ARGS	EQU	02H
PNPE_UNDEFINED	EQU	0FFH
PNPT_VOLUME	EQU	10000000H
PNPT_NET	EQU	20000000H
PNPT_MASK	EQU	0F0000000H
RESSTAT_OK	EQU	0
RESSTAT_PAUSED	EQU	1
RESSTAT_DISCONN	EQU	2
RESSTAT_ERROR	EQU	3
RESSTAT_CONN	EQU	4
RESSTAT_RECONN	EQU	5
CLOSE_HANDLE	EQU	0
CLOSE_FOR_PROCESS	EQU	1
CLOSE_FINAL	EQU	2
FILE_NO_LAST_ACCESS_DATE	EQU	01H
FILE_CLOSE_FOR_LEVEL4_LOCK	EQU	02H
FILE_COMMIT_ASYNC	EQU	04H
FILE_FIND_RESTART	EQU	40H
IOOPT_PRT_SPEC	EQU	80H
CREATE_DIR	EQU	0
DELETE_DIR	EQU	1
CHECK_DIR	EQU	2
QUERY83_DIR	EQU	3
QUERYLONG_DIR	EQU	4
LOCK_REGION	EQU	0
UNLOCK_REGION	EQU	1
LOCKF_MASK_RDWR	EQU	01H
LOCKF_WR	EQU	00H
LOCKF_RD	EQU	01H
LOCKF_MASK_DOS_NW	EQU	02H
LOCKF_DOS	EQU	00H
LOCKF_NW	EQU	02H
LOCKF_MASK_INACTIVE	EQU	80H
LOCKF_ACTIVE	EQU	00H
LOCKF_INACTIVE	EQU	80H
PIPE_QHandState	EQU	21H
PIPE_SetHandState	EQU	01H
PIPE_QInfo	EQU	22H
PIPE_Peek	EQU	23H
PIPE_RawRead	EQU	11H
PIPE_RawWrite	EQU	31H
PIPE_Wait	EQU	53H
PIPE_Call	EQU	54H
PIPE_Transact	EQU	26H
HINFO_GET	EQU	0
HINFO_SETALL	EQU	1
HINFO_SETCHARTIME	EQU	2
HINFO_SETCHARCOUNT	EQU	3
ENUMH_GETFILEINFO	EQU	0
ENUMH_GETFILENAME	EQU	1
ENUMH_GETFINDINFO	EQU	2
ENUMH_RESUMEFIND	EQU	3
ENUMH_RESYNCFILEDIR	EQU	4
ifdef	MAPCACHE
ENUMH_MAPCACHEBLOCK	EQU	5
endif
GETFILENAME_FLAG_FILEDATA	EQU	0001H
RESYNC_INVALIDATEMETACACHE	EQU	01H
GET_ATTRIBUTES	EQU	0
SET_ATTRIBUTES	EQU	1
GET_ATTRIB_COMP_FILESIZE	EQU	2
SET_ATTRIB_MODIFY_DATETIME	EQU	3
GET_ATTRIB_MODIFY_DATETIME	EQU	4
SET_ATTRIB_LAST_ACCESS_DATETIME	EQU	5
GET_ATTRIB_LAST_ACCESS_DATETIME	EQU	6
SET_ATTRIB_CREATION_DATETIME	EQU	7
GET_ATTRIB_CREATION_DATETIME	EQU	8
GET_ATTRIB_FIRST_CLUST	EQU	9
GDF_NORMAL	EQU	00H
GDF_NO_DISK_HIT	EQU	01H
GDF_R0_EXT_FREESPACE	EQU	80H
GET_MODIFY_DATETIME	EQU	0
SET_MODIFY_DATETIME	EQU	1
GET_LAST_ACCESS_DATETIME	EQU	4
SET_LAST_ACCESS_DATETIME	EQU	5
GET_CREATION_DATETIME	EQU	6
SET_CREATION_DATETIME	EQU	7
FILE_BEGIN	EQU	0
FILE_END	EQU	2
ACCESS_MODE_MASK	EQU	0007H
ACCESS_READONLY	EQU	0000H
ACCESS_WRITEONLY	EQU	0001H
ACCESS_READWRITE	EQU	0002H
ACCESS_EXECUTE	EQU	0003H
SHARE_MODE_MASK	EQU	0070H
SHARE_COMPATIBILITY	EQU	0000H
SHARE_DENYREADWRITE	EQU	0010H
SHARE_DENYWRITE	EQU	0020H
SHARE_DENYREAD	EQU	0030H
SHARE_DENYNONE	EQU	0040H
SHARE_FCB	EQU	0070H
ACTION_MASK	EQU	0ffH
ACTION_OPENEXISTING	EQU	01H
ACTION_REPLACEEXISTING	EQU	02H
ACTION_CREATENEW	EQU	10H
ACTION_OPENALWAYS	EQU	11H
ACTION_CREATEALWAYS	EQU	12H
ACTION_EXISTS_OPEN	EQU	01H
ACTION_TRUNCATE	EQU	02H
ACTION_NEXISTS_CREATE	EQU	10H
OPEN_FLAGS_NOINHERIT	EQU	0080H
OPEN_FLAGS_NO_CACHE	EQU	<R0_NO_CACHE>
OPEN_FLAGS_NO_COMPRESS	EQU	0200H
OPEN_FLAGS_ALIAS_HINT	EQU	0400H
OPEN_FLAGS_REOPEN	EQU	0800H
OPEN_FLAGS_RSVD_1	EQU	1000H
OPEN_FLAGS_NOCRITERR	EQU	2000H
OPEN_FLAGS_COMMIT	EQU	4000H
OPEN_FLAGS_RSVD_2	EQU	8000H
OPEN_FLAGS_EXTENDED_SIZE	EQU	00010000H
OPEN_FLAGS_RAND_ACCESS_HINT	EQU	00020000H
OPEN_FLAGS_SEQ_ACCESS_HINT	EQU	00040000H
OPEN_EXT_FLAGS_MASK	EQU	00FF0000H
ACTION_OPENED	EQU	1
ACTION_CREATED	EQU	2
ACTION_REPLACED	EQU	3
SEARCH_FIRST	EQU	0
SEARCH_NEXT	EQU	1
DISCONNECT_NORMAL	EQU	0
DISCONNECT_NO_IO	EQU	1
DISCONNECT_SINGLE	EQU	2
VOL_DISCARD_CACHE	EQU	1
VOL_REMOUNT	EQU	2
GDF_EXTENDED_FREESPACE	EQU	01H
IOCTL_PKT_V86_ADDRESS	EQU	0
IOCTL_PKT_LINEAR_ADDRESS	EQU	1
GDP_EXTENDED_PARMS	EQU	01H
DIO_ABS_READ_SECTORS	EQU	0
DIO_ABS_WRITE_SECTORS	EQU	1
DIO_SET_LOCK_CACHE_STATE	EQU	2
DIO_SET_DPB_FOR_FORMAT	EQU	3
ABS_EXTENDED_DASDIO	EQU	01H
DLC_LEVEL4LOCK_TAKEN	EQU	01H
DLC_LEVEL4LOCK_RELEASED	EQU	02H
DLC_LEVEL1LOCK_TAKEN	EQU	04H
DLC_LEVEL1LOCK_RELEASED	EQU	08H
DLC_LOCKS_TAKEN	EQU	10H
DLC_LOCKS_RELEASED	EQU	20H
R0_NO_CACHE	EQU	0100H
R0_SWAPPER_CALL	EQU	1000H
R0_LOADER_IO	EQU	2000H
R0_MM_READ_WRITE	EQU	8000H
R0_SPLOPT_MASK	EQU	0FF00H
FILE_ATTRIBUTE_READONLY	EQU	01H
FILE_ATTRIBUTE_HIDDEN	EQU	02H
FILE_ATTRIBUTE_SYSTEM	EQU	04H
FILE_ATTRIBUTE_LABEL	EQU	08H
FILE_ATTRIBUTE_DIRECTORY	EQU	10H
FILE_ATTRIBUTE_ARCHIVE	EQU	20H
FILE_ATTRIBUTE_DEVICE	EQU	40H
FILE_ATTRIBUTE_MUSTMATCH	EQU	00003F00H
FILE_ATTRIBUTE_EVERYTHING	EQU	0000003FH
FILE_ATTRIBUTE_INTERESTING	EQU	0000001EH
BASIS_TRUNC	EQU	01H
BASIS_LOSS	EQU	02H
BASIS_UPCASE	EQU	04H
BASIS_EXT	EQU	20H
BASIS_NAME_COLL	EQU	08H
BASIS_NUM_TAIL_COLL	EQU	10H
FIND_FLAG_PRI_NAME_LOSS	EQU	0001H
FIND_FLAG_ALT_NAME_LOSS	EQU	0002H
MAP_FLAG_LOSS	EQU	0001H
MAP_FLAG_TRUNCATE	EQU	0002H
FILE_FLAG_WILDCARDS	EQU	80000000H
FILE_FLAG_HAS_STAR	EQU	40000000H
FILE_FLAG_LONG_PATH	EQU	20000000H
FILE_FLAG_KEEP_CASE	EQU	10000000H
FILE_FLAG_HAS_DOT	EQU	08000000H
FILE_FLAG_IS_LFN	EQU	04000000H
R0_OPENCREATFILE	EQU	0D500H
R0_OPENCREAT_IN_CONTEXT	EQU	0D501H
R0_READFILE	EQU	0D600H
R0_WRITEFILE	EQU	0D601H
R0_READFILE_IN_CONTEXT	EQU	0D602H
R0_WRITEFILE_IN_CONTEXT	EQU	0D603H
R0_CLOSEFILE	EQU	0D700H
R0_GETFILESIZE	EQU	0D800H
R0_FINDFIRSTFILE	EQU	4E00H
R0_FINDNEXTFILE	EQU	4F00H
R0_FINDCLOSEFILE	EQU	0DC00H
R0_FILEATTRIBUTES	EQU	4300H
R0_RENAMEFILE	EQU	5600H
R0_DELETEFILE	EQU	4100H
R0_LOCKFILE	EQU	5C00H
R0_GETDISKFREESPACE	EQU	3600H
R0_READABSOLUTEDISK	EQU	0DD00H
R0_WRITEABSOLUTEDISK	EQU	0DE00H
R0_HANDLETOPATH	EQU	0EC00H
R0_MAPCACHEBLOCK	EQU	0ED00H
R0_GETVOLLOCKLEVEL	EQU	0EE00H
IFS_DRV_RMM	EQU	0001H
IFS_DRV_DOS_DISK_INFO	EQU	0002H

srch_key	STRUC
sk_drive	DB	?
sk_pattern	DB	11 DUP (?)
sk_attr	DB	?
sk_localFSD	DB	4 DUP (?)
sk_netFSD	DB	2 DUP (?)
sk_ifsmgr	DB	2 DUP (?)
srch_key	ENDS

srch_entry	STRUC
se_key	DB	SIZE srch_key DUP (?)
se_attrib	DB	?
se_time	DW	?
se_date	DW	?
se_size	DD	?
se_name	DB	13 DUP (?)
srch_entry	ENDS

_FILETIME	STRUC
dwLowDateTime	DD	?
dwHighDateTime	DD	?
_FILETIME	ENDS

_WIN32_FIND_DATA	STRUC
dwFileAttributes	DD	?
ftCreationTime	DB	SIZE _FILETIME DUP (?)
ftLastAccessTime	DB	SIZE _FILETIME DUP (?)
ftLastWriteTime	DB	SIZE _FILETIME DUP (?)
nFileSizeHigh	DD	?
nFileSizeLow	DD	?
dwReserved0	DD	?
dwReserved1	DD	?
cFileName	DW	MAX_PATH DUP (?)
cAlternateFileName	DW	14 DUP (?)
_WIN32_FIND_DATA	ENDS

_BY_HANDLE_FILE_INFORMATION	STRUC
bhfi_dwFileAttributes	DD	?
bhfi_ftCreationTime	DB	SIZE _FILETIME DUP (?)
bhfi_ftLastAccessTime	DB	SIZE _FILETIME DUP (?)
bhfi_ftLastWriteTime	DB	SIZE _FILETIME DUP (?)
bhfi_dwVolumeSerialNumber	DD	?
bhfi_nFileSizeHigh	DD	?
bhfi_nFileSizeLow	DD	?
bhfi_nNumberOfLinks	DD	?
bhfi_nFileIndexHigh	DD	?
bhfi_nFileIndexLow	DD	?
_BY_HANDLE_FILE_INFORMATION	ENDS
FS_CASE_IS_PRESERVED	EQU	00000002H
FS_UNICODE_STORED_ON_DISK	EQU	00000004H
FS_VOL_IS_COMPRESSED	EQU	00008000H
FS_VOL_SUPPORTS_LONG_NAMES	EQU	00004000H
FDRV_INT13	EQU	01H
FDRV_FASTDISK	EQU	02H
FDRV_COMP	EQU	04H
FDRV_RMM	EQU	08H
FDRV_DOS	EQU	10H
FDRV_USE_RMM	EQU	20H
FDRV_COMPHOST	EQU	40H
FDRV_NO_LAZY	EQU	80H

TUNINFO	STRUC
tuni_bfContents	DD	?
tuni_pAltName	DD	?
tuni_ftCreationTime	DB	SIZE _FILETIME DUP (?)
tuni_ftLastAccessTime	DB	SIZE _FILETIME DUP (?)
tuni_ftLastWriteTime	DB	SIZE _FILETIME DUP (?)
TUNINFO	ENDS
TUNI_CONTAINS_ALTNAME	EQU	00000001H
TUNI_CONTAINS_CREATIONT	EQU	00000002H
TUNI_CONTAINS_LASTACCESST	EQU	00000004H
TUNI_CONTAINS_LASTWRITET	EQU	00000008H

_QWORD	STRUC
ddLower	DD	?
ddUpper	DD	?
_QWORD	ENDS

PathElement	STRUC
pe_length	DW	?
pe_unichars	DW	1 DUP (?)
PathElement	ENDS

ParsedPath	STRUC
pp_totalLength	DW	?
pp_prefixLength	DW	?
pp_elements	DB	SIZE PathElement * 1 DUP (?)
ParsedPath	ENDS
BCS_WANSI	EQU	0
BCS_OEM	EQU	1
BCS_UNI	EQU	2
UFLG_META	EQU	01H
UFLG_NT	EQU	02H
UFLG_NT_DOS	EQU	04H
UFLG_DOS	EQU	00H

CPPtrs	STRUC
AnsiPtr	DD	?
OEMPtr	DD	?
CPPtrs	ENDS

UnitoUpperTab	STRUC
delta	DD	?
TabPtr	DD	?
UnitoUpperTab	ENDS

CPTablePtrs	STRUC
CPT_Length	DD	?
utbPtrTab	DB	SIZE CPPtrs DUP (?)
btuPtrTab	DB	SIZE CPPtrs DUP (?)
UnitoUpperPtr	DB	SIZE UnitoUpperTab DUP (?)
CPTablePtrs	ENDS

fmode_t	STRUC
fm_uid	DD	?
fm_cookie0	DD	?
fm_cookie1	DD	?
fm_mode	DW	?
fm_attr	DW	?
fmode_t	ENDS
DUP_NORMAL_HANDLE	EQU	00H
DUP_MEMORY_MAPPED	EQU	01H
DUP_MEM_MAPPED_WRITE	EQU	02H
NAMTRN_NORMALQUERY	EQU	00H
NAMTRN_DO83QUERY	EQU	01H
NAMTRN_DOLFNQUERY	EQU	02H
ENUM_ALL_FILES	EQU	00H
ENUM_UNMOVEABLE_FILES	EQU	01H

SFTOpenInfo	STRUC
soi_dirclus	DD	?
soi_dirind	DW	?
soi_dirname	DB	11 DUP (?)
soi_pad	DB	3 DUP (?)
SFTOpenInfo	ENDS

⌨️ 快捷键说明

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