|
IOCTL_STORAGE_GET_DEVICE_NUMBER | 2953344 | |
输出调试文本 (系统_通过逻辑盘符获取物理设备号 (“C”))
|
系统_通过逻辑盘符获取物理设备号 | 整数型 | |
|
盘符 | 文本型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
hDevice | 整数型 | | |
dwBufLen | 整数型 | | |
szBuf | 字节集 | | |
bRet | 逻辑型 | | |
hDevice =
CreateFileA (“\\.\” + 盘符 +
“:”,
位或 ( #GENERIC_READ, #GENERIC_WRITE ),
位或 ( #FILE_SHARE_READ, #FILE_SHARE_WRITE ),
#NULL, #OPEN_EXISTING, 0,
#NULL )
如果真 (hDevice =
#INVALID_HANDLE_VALUE )
输出调试文本 (取错误信息文本_API (hDevice,
“Kernel32.dll”))
返回 ( #INVALID_HANDLE_VALUE )dwBufLen = 12szBuf =
取空白字节集 (dwBufLen
)bRet =
DeviceIoControl1 (hDevice,
#IOCTL_STORAGE_GET_DEVICE_NUMBER, #NULL, 0,
取指针_字节集型 (szBuf
), dwBufLen,
#NULL, #NULL )CloseHandle (hDevice
)
如果真 (bRet
)
返回 (取字节集 数 据
(szBuf,
#整数型, 5
))
返回 ( #INVALID_HANDLE_VALUE )
变量名 | 类 型 | 静态 | 数组 | 备 注 |
句柄 | 整数型 | | |
结果 | 逻辑型 | | |
类型 | deviceInfo | | |
句柄 =
CreateFile (“\\.\” + 盘符,
#GENERIC_WRITE, 位异或 ( #FILE_SHARE_READ, #FILE_SHARE_WRITE ), 0,
#OPEN_EXISTING, #FILE_ATTRIBUTE_NORMAL, 0
)
如果真 (句柄 = -1
)
返回 (-1
)
结果 =
DeviceIoControl (句柄,
#IOCTL_STORAGE_GET_DEVICE_NUMBER, 0, 0,
取自定义类型指针_asm (类型
), 16, 0, 0
)
如果真 (结果 =
假)
返回 (0
)_关闭句柄_CloseHandle (句柄)返回 (类型.DeviceNumber
)