📄 vdkctl.h
字号:
/* vdkctl.h Virtual Disk driver control routines header Copyright (C) 2003 Ken Kato*/#ifndef _VDKCTL_H_#define _VDKCTL_H_#ifdef __cplusplusextern "C" {#endif // __cplusplus//// custom SERVICE STATE value//#define VDK_NOT_INSTALLED 0xffffffff/////////////////////////////////////////// Driver configuration routines//// Get current driver config informationDWORD VdkGetDriverConfig( LPTSTR driver_path, LPDWORD start_type, PULONG device_num);// Get current driver stateDWORD VdkGetDriverState( LPDWORD current_state);// Install the driverDWORD VdkInstall( LPCTSTR driver_path, BOOL auto_start);// Uninstall the driverDWORD VdkRemove();// Start the driverDWORD VdkStart( DWORD *state);// Stop the driverDWORD VdkStop( DWORD *state);// Set initial number of devicesDWORD VdkSetDeviceNum( ULONG device_num);// Check driver file versionDWORD VdkCheckFileVersion( LPCTSTR driver_path, PULONG version);/////////////////////////////////////////// Device control routines//// Open a Virtual Disk deviceHANDLE VdkOpenDevice( ULONG disk_number, ULONG part_number);// Check running driver versionDWORD VdkCheckVersion( HANDLE hDevice, PULONG version);// Get running driver informationDWORD VdkGetDriverInfo( HANDLE hDevice, PULONG disk_device, PULONG attached_part, PULONG orphaned_part, PULONG reference_count);// Create a new disk deviceDWORD VdkCreateDisk( HANDLE hDevice);// Delete the last disk deviceDWORD VdkDeleteDisk( HANDLE hDevice);// Check if the device is active/writableDWORD VdkCheckDeviceState( HANDLE hDevice, ULONG disk_number, ULONG part_number);// Get device informationDWORD VdkGetDeviceList( PULONG device_num, PVDK_DEVICE_INFO *device_info);#ifdef VDK_DEBUG// Set/get trace flagsULONG VdkTraceFlags( PULONG flags);#endif/////////////////////////////////////////// Image file routines//// Open image filesDWORD VdkOpen( HANDLE hDevice, ULONG disk_number, PVOID pDisk, ULONG AccessType);// Close image filesDWORD VdkClose( HANDLE hDevice, ULONG disk_number, ULONG graceful);// Get current image file informationtypedef struct _VDK_OPEN_FILE_INFO *PVDK_OPEN_FILE_INFO;DWORD VdkGetFileInfo( HANDLE hDevice, ULONG disk_number, PVDK_OPEN_FILE_INFO *file_info);// Dismount a virtual disk partitionDWORD VdkDismount( HANDLE hDevice, ULONG disk_number, ULONG part_number, ULONG unlock);DWORD VdkDismountAll(BOOL zombie_only);/////////////////////////////////////////// Drive letter handling routines//// Get VDK device name in the kernel namespaceDWORD VdkGetDeviceName( ULONG disk_number, ULONG part_number, LPTSTR buf);// Get current drive letterDWORD VdkGetDriveLetter( ULONG disk_number, ULONG part_number, TCHAR *drive_letter);// Assign a drive letterDWORD VdkSetDriveLetter( ULONG disk_number, ULONG part_number, TCHAR drive_letter);// Remove a drive letterDWORD VdkDelDriveLetter( TCHAR drive_letter);// Choose first available drive letterchar ChooseDriveLetter();//// Close current image//typedef DWORD (*VDK_CALLBACK)(PVOID param, DWORD err);DWORD VdkCloseDrive( ULONG disk_number, VDK_CALLBACK retrycb, VDK_CALLBACK contcb, PVOID param);#ifdef __cplusplus}#endif // __cplusplus#endif // _VDKCTL_H_// End Of File
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -