mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Merge pull request #56 from hakril/io_ctypes_generation
Added IO definitions + ability to use CTL_CODE() macro in windef
This commit is contained in:
@@ -0,0 +1,359 @@
|
||||
|
||||
/* CTL_CODE is directly defined in the .py template to simpify parsing of define */
|
||||
|
||||
// #define CTL_CODE( DeviceType, Function, Method, Access ) (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
|
||||
|
||||
#define METHOD_BUFFERED 0
|
||||
#define METHOD_IN_DIRECT 1
|
||||
#define METHOD_OUT_DIRECT 2
|
||||
#define METHOD_NEITHER 3
|
||||
|
||||
#define METHOD_DIRECT_TO_HARDWARE METHOD_IN_DIRECT
|
||||
#define METHOD_DIRECT_FROM_HARDWARE METHOD_OUT_DIRECT
|
||||
|
||||
#define FILE_ANY_ACCESS 0
|
||||
#define FILE_SPECIAL_ACCESS (FILE_ANY_ACCESS)
|
||||
#define FILE_READ_ACCESS ( 0x0001 ) // file & pipe
|
||||
#define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe
|
||||
|
||||
|
||||
#define FILE_DISPOSITION_DO_NOT_DELETE 0x00000000
|
||||
#define FILE_DISPOSITION_DELETE 0x00000001
|
||||
#define FILE_DISPOSITION_POSIX_SEMANTICS 0x00000002
|
||||
#define FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK 0x00000004
|
||||
#define FILE_DISPOSITION_ON_CLOSE 0x00000008
|
||||
#define FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE 0x00000010
|
||||
|
||||
/* From: ntifs.h */
|
||||
//
|
||||
// The following is a list of the native file system fsctls followed by
|
||||
// additional network file system fsctls. Some values have been
|
||||
// decommissioned.
|
||||
//
|
||||
|
||||
|
||||
#define FSCTL_REQUEST_OPLOCK_LEVEL_1 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 0, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REQUEST_OPLOCK_LEVEL_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REQUEST_BATCH_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_OPLOCK_BREAK_ACKNOWLEDGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_OPBATCH_ACK_CLOSE_PENDING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_OPLOCK_BREAK_NOTIFY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_LOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_UNLOCK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_DISMOUNT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
// decommissioned fsctl value 9
|
||||
#define FSCTL_IS_VOLUME_MOUNTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_IS_PATHNAME_VALID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS) // PATHNAME_BUFFER,
|
||||
#define FSCTL_MARK_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
// decommissioned fsctl value 13
|
||||
#define FSCTL_QUERY_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
#define FSCTL_GET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SET_COMPRESSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
|
||||
// decommissioned fsctl value 17
|
||||
// decommissioned fsctl value 18
|
||||
#define FSCTL_SET_BOOTLOADER_ACCESSED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
#define FSCTL_MARK_AS_SYSTEM_HIVE FSCTL_SET_BOOTLOADER_ACCESSED
|
||||
#define FSCTL_OPLOCK_BREAK_ACK_NO_2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_INVALIDATE_VOLUMES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_QUERY_FAT_BPB CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS) // FSCTL_QUERY_FAT_BPB_BUFFER
|
||||
#define FSCTL_REQUEST_FILTER_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_FILESYSTEM_GET_STATISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS) // FILESYSTEM_STATISTICS
|
||||
|
||||
#define FSCTL_GET_NTFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS) // NTFS_VOLUME_DATA_BUFFER
|
||||
#define FSCTL_GET_NTFS_FILE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS) // NTFS_FILE_RECORD_INPUT_BUFFER, NTFS_FILE_RECORD_OUTPUT_BUFFER
|
||||
#define FSCTL_GET_VOLUME_BITMAP CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27, METHOD_NEITHER, FILE_ANY_ACCESS) // STARTING_LCN_INPUT_BUFFER, VOLUME_BITMAP_BUFFER
|
||||
#define FSCTL_GET_RETRIEVAL_POINTERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28, METHOD_NEITHER, FILE_ANY_ACCESS) // STARTING_VCN_INPUT_BUFFER, RETRIEVAL_POINTERS_BUFFER
|
||||
#define FSCTL_MOVE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // MOVE_FILE_DATA,
|
||||
#define FSCTL_IS_VOLUME_DIRTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
// decommissioned fsctl value 31
|
||||
#define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
|
||||
// decommissioned fsctl value 33
|
||||
// decommissioned fsctl value 34
|
||||
#define FSCTL_FIND_FILES_BY_SID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
// decommissioned fsctl value 36
|
||||
// decommissioned fsctl value 37
|
||||
#define FSCTL_SET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // FILE_OBJECTID_BUFFER
|
||||
#define FSCTL_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS) // FILE_OBJECTID_BUFFER
|
||||
#define FSCTL_DELETE_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // REPARSE_DATA_BUFFER,
|
||||
#define FSCTL_GET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS) // REPARSE_DATA_BUFFER
|
||||
#define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // REPARSE_DATA_BUFFER,
|
||||
#define FSCTL_ENUM_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44, METHOD_NEITHER, FILE_ANY_ACCESS) // MFT_ENUM_DATA,
|
||||
#define FSCTL_SECURITY_ID_CHECK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45, METHOD_NEITHER, FILE_READ_DATA) // BULK_SECURITY_TEST_DATA,
|
||||
#define FSCTL_READ_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46, METHOD_NEITHER, FILE_ANY_ACCESS) // READ_USN_JOURNAL_DATA, USN
|
||||
#define FSCTL_SET_OBJECT_ID_EXTENDED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_CREATE_OR_GET_OBJECT_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS) // FILE_OBJECTID_BUFFER
|
||||
#define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_DATA) // FILE_ZERO_DATA_INFORMATION,
|
||||
#define FSCTL_QUERY_ALLOCATED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51, METHOD_NEITHER, FILE_READ_DATA) // FILE_ALLOCATED_RANGE_BUFFER, FILE_ALLOCATED_RANGE_BUFFER
|
||||
#define FSCTL_ENABLE_UPGRADE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_DATA)
|
||||
#define FSCTL_SET_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_NEITHER, FILE_ANY_ACCESS) // ENCRYPTION_BUFFER, DECRYPTION_STATUS_BUFFER
|
||||
#define FSCTL_ENCRYPTION_FSCTL_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
#define FSCTL_WRITE_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55, METHOD_NEITHER, FILE_SPECIAL_ACCESS) // ENCRYPTED_DATA_INFO, EXTENDED_ENCRYPTED_DATA_INFO
|
||||
#define FSCTL_READ_RAW_ENCRYPTED CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56, METHOD_NEITHER, FILE_SPECIAL_ACCESS) // REQUEST_RAW_ENCRYPTED_DATA, ENCRYPTED_DATA_INFO, EXTENDED_ENCRYPTED_DATA_INFO
|
||||
#define FSCTL_CREATE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57, METHOD_NEITHER, FILE_ANY_ACCESS) // CREATE_USN_JOURNAL_DATA,
|
||||
#define FSCTL_READ_FILE_USN_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58, METHOD_NEITHER, FILE_ANY_ACCESS) // Read the Usn Record for a file
|
||||
#define FSCTL_WRITE_USN_CLOSE_RECORD CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59, METHOD_NEITHER, FILE_ANY_ACCESS) // Generate Close Usn Record
|
||||
#define FSCTL_EXTEND_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_QUERY_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 61, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_DELETE_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 62, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_MARK_HANDLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 63, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SIS_COPYFILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SIS_LINK_FILES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 65, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
|
||||
// decommissioned fsctl value 66
|
||||
// decommissioned fsctl value 67
|
||||
// decommissioned fsctl value 68
|
||||
#define FSCTL_RECALL_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
// decommissioned fsctl value 70
|
||||
#define FSCTL_READ_FROM_PLEX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 71, METHOD_OUT_DIRECT, FILE_READ_DATA)
|
||||
#define FSCTL_FILE_PREFETCH CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 72, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // FILE_PREFETCH
|
||||
|
||||
#define FSCTL_MAKE_MEDIA_COMPATIBLE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 76, METHOD_BUFFERED, FILE_WRITE_DATA) // UDFS R/W
|
||||
#define FSCTL_SET_DEFECT_MANAGEMENT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 77, METHOD_BUFFERED, FILE_WRITE_DATA) // UDFS R/W
|
||||
#define FSCTL_QUERY_SPARING_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 78, METHOD_BUFFERED, FILE_ANY_ACCESS) // UDFS R/W
|
||||
#define FSCTL_QUERY_ON_DISK_VOLUME_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 79, METHOD_BUFFERED, FILE_ANY_ACCESS) // C/UDFS
|
||||
#define FSCTL_SET_VOLUME_COMPRESSION_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 80, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // VOLUME_COMPRESSION_STATE
|
||||
// decommissioned fsctl value 80
|
||||
#define FSCTL_TXFS_MODIFY_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 81, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_QUERY_RM_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 82, METHOD_BUFFERED, FILE_READ_DATA) // TxF
|
||||
// decommissioned fsctl value 83
|
||||
#define FSCTL_TXFS_ROLLFORWARD_REDO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 84, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_ROLLFORWARD_UNDO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 85, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_START_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 86, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_SHUTDOWN_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 87, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_READ_BACKUP_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 88, METHOD_BUFFERED, FILE_READ_DATA) // TxF
|
||||
#define FSCTL_TXFS_WRITE_BACKUP_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 89, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_CREATE_SECONDARY_RM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 90, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_GET_METADATA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 91, METHOD_BUFFERED, FILE_READ_DATA) // TxF
|
||||
#define FSCTL_TXFS_GET_TRANSACTED_VERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 92, METHOD_BUFFERED, FILE_READ_DATA) // TxF
|
||||
// decommissioned fsctl value 93
|
||||
#define FSCTL_TXFS_SAVEPOINT_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 94, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
#define FSCTL_TXFS_CREATE_MINIVERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 95, METHOD_BUFFERED, FILE_WRITE_DATA) // TxF
|
||||
// decommissioned fsctl value 96
|
||||
// decommissioned fsctl value 97
|
||||
// decommissioned fsctl value 98
|
||||
#define FSCTL_TXFS_TRANSACTION_ACTIVE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 99, METHOD_BUFFERED, FILE_READ_DATA) // TxF
|
||||
#define FSCTL_SET_ZERO_ON_DEALLOCATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 101, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_SET_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 102, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_GET_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 103, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_WAIT_FOR_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 104, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
// decommissioned fsctl value 105
|
||||
#define FSCTL_INITIATE_REPAIR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 106, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSC_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 107, METHOD_NEITHER, FILE_ANY_ACCESS) // CSC internal implementation
|
||||
#define FSCTL_SHRINK_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 108, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // SHRINK_VOLUME_INFORMATION
|
||||
#define FSCTL_SET_SHORT_NAME_BEHAVIOR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 109, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_DFSR_SET_GHOST_HANDLE_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 110, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
//
|
||||
// Values 111 - 119 are reserved for FSRM.
|
||||
//
|
||||
|
||||
#define FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES \
|
||||
CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 120, METHOD_BUFFERED, FILE_READ_DATA) // TxF
|
||||
#define FSCTL_TXFS_LIST_TRANSACTIONS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 121, METHOD_BUFFERED, FILE_READ_DATA) // TxF
|
||||
#define FSCTL_QUERY_PAGEFILE_ENCRYPTION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 122, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_RESET_VOLUME_ALLOCATION_HINTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 123, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_QUERY_DEPENDENT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 124, METHOD_BUFFERED, FILE_ANY_ACCESS) // Dependency File System Filter
|
||||
#define FSCTL_SD_GLOBAL_CHANGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 125, METHOD_BUFFERED, FILE_ANY_ACCESS) // Query/Change NTFS Security Descriptors
|
||||
|
||||
#define FSCTL_TXFS_READ_BACKUP_INFORMATION2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 126, METHOD_BUFFERED, FILE_ANY_ACCESS) // TxF
|
||||
|
||||
#define FSCTL_LOOKUP_STREAM_FROM_CLUSTER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 127, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_TXFS_WRITE_BACKUP_INFORMATION2 CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 128, METHOD_BUFFERED, FILE_ANY_ACCESS) // TxF
|
||||
#define FSCTL_FILE_TYPE_NOTIFICATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 129, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_FILE_LEVEL_TRIM CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, FILE_WRITE_DATA)
|
||||
|
||||
//
|
||||
// Values 131 - 139 are reserved for FSRM.
|
||||
//
|
||||
|
||||
#define FSCTL_GET_BOOT_AREA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 140, METHOD_BUFFERED, FILE_ANY_ACCESS) // BOOT_AREA_INFO
|
||||
#define FSCTL_GET_RETRIEVAL_POINTER_BASE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 141, METHOD_BUFFERED, FILE_ANY_ACCESS) // RETRIEVAL_POINTER_BASE
|
||||
#define FSCTL_SET_PERSISTENT_VOLUME_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 142, METHOD_BUFFERED, FILE_ANY_ACCESS) // FILE_FS_PERSISTENT_VOLUME_INFORMATION
|
||||
#define FSCTL_QUERY_PERSISTENT_VOLUME_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 143, METHOD_BUFFERED, FILE_ANY_ACCESS) // FILE_FS_PERSISTENT_VOLUME_INFORMATION
|
||||
|
||||
#define FSCTL_REQUEST_OPLOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 144, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_CSV_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 145, METHOD_BUFFERED, FILE_ANY_ACCESS) // CSV_TUNNEL_REQUEST
|
||||
#define FSCTL_IS_CSV_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 146, METHOD_BUFFERED, FILE_ANY_ACCESS) // IS_CSV_FILE
|
||||
|
||||
#define FSCTL_QUERY_FILE_SYSTEM_RECOGNITION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 147, METHOD_BUFFERED, FILE_ANY_ACCESS) //
|
||||
#define FSCTL_CSV_GET_VOLUME_PATH_NAME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 148, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 149, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 150, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_IS_FILE_ON_CSV_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 151, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_CORRUPTION_HANDLING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 152, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_OFFLOAD_READ CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
#define FSCTL_OFFLOAD_WRITE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, FILE_WRITE_ACCESS)
|
||||
|
||||
#define FSCTL_CSV_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 155, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_SET_PURGE_FAILURE_MODE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 156, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_QUERY_FILE_LAYOUT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 157, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
#define FSCTL_IS_VOLUME_OWNED_BYCSVFS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 158, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_GET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS) // FSCTL_GET_INTEGRITY_INFORMATION_BUFFER
|
||||
#define FSCTL_SET_INTEGRITY_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA) // FSCTL_SET_INTEGRITY_INFORMATION_BUFFER
|
||||
|
||||
#define FSCTL_QUERY_FILE_REGIONS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 161, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
|
||||
|
||||
#define FSCTL_RKF_INTERNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 171, METHOD_NEITHER, FILE_ANY_ACCESS) // Resume Key Filter
|
||||
|
||||
#define FSCTL_SCRUB_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 172, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REPAIR_COPIES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 173, METHOD_BUFFERED, FILE_READ_DATA | FILE_WRITE_DATA)
|
||||
#define FSCTL_DISABLE_LOCAL_BUFFERING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 174, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_MGMT_LOCK CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 175, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 176, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_ADVANCE_FILE_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 177, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 178, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 179, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_WRITE_USN_REASON CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 180, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 181, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_GET_REFS_VOLUME_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 182, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 185, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_QUERY_STORAGE_CLASSES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 187, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_QUERY_REGION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 188, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_USN_TRACK_MODIFIED_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 189, METHOD_BUFFERED, FILE_ANY_ACCESS) // USN_TRACK_MODIFIED_RANGES
|
||||
#define FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 192, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SVHDX_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 193, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SVHDX_SET_INITIATOR_INFORMATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 194, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SET_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 195, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_GET_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 196, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_DELETE_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 197, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_ENUM_EXTERNAL_BACKING CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 198, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_ENUM_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 199, METHOD_NEITHER, FILE_ANY_ACCESS)
|
||||
#define FSCTL_ADD_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 204, METHOD_BUFFERED, FILE_WRITE_DATA)
|
||||
#define FSCTL_REMOVE_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 205, METHOD_BUFFERED, FILE_WRITE_DATA)
|
||||
#define FSCTL_UPDATE_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 206, METHOD_BUFFERED, FILE_WRITE_DATA)
|
||||
#define FSCTL_SHUFFLE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 208, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) // SHUFFLE_FILE_DATA
|
||||
#define FSCTL_DUPLICATE_EXTENTS_TO_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 209, METHOD_BUFFERED, FILE_WRITE_DATA )
|
||||
#define FSCTL_SPARSE_OVERALLOCATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 211, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_STORAGE_QOS_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 212, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_INITIATE_FILE_METADATA_OPTIMIZATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 215, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
#define FSCTL_QUERY_FILE_METADATA_OPTIMIZATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 216, METHOD_BUFFERED, FILE_SPECIAL_ACCESS)
|
||||
|
||||
#define FSCTL_SVHDX_ASYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 217, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_GET_WOF_VERSION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 218, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_HCS_SYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 219, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_HCS_ASYNC_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 220, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_QUERY_EXTENT_READ_CACHE_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 221, METHOD_NEITHER, FILE_ANY_ACCESS) // VCN_RANGE_INPUT_BUFFER, EXTENT_READ_CACHE_INFO_BUFFER
|
||||
#define FSCTL_QUERY_REFS_VOLUME_COUNTER_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 222, METHOD_NEITHER, FILE_ANY_ACCESS) // REFS_VOLUME_COUNTER_INFO_INPUT_BUFFER, VOLUME_REFS_INFO_BUFFER
|
||||
#define FSCTL_CLEAN_VOLUME_METADATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 223, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SET_INTEGRITY_INFORMATION_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 224, METHOD_BUFFERED, FILE_ANY_ACCESS) // FSCTL_SET_INTEGRITY_INFORMATION_BUFFER_EX
|
||||
#define FSCTL_SUSPEND_OVERLAY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 225, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 226, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_FILESYSTEM_GET_STATISTICS_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 227, METHOD_BUFFERED, FILE_ANY_ACCESS) // FILESYSTEM_STATISTICS_EX
|
||||
#define FSCTL_QUERY_VOLUME_CONTAINER_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 228, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SET_LAYER_ROOT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 229, METHOD_BUFFERED, FILE_ANY_ACCESS) // CONTAINER_ROOT_INFO_INPUT CONTAINER_ROOT_INFO_OUTPUT
|
||||
|
||||
#define FSCTL_QUERY_DIRECT_ACCESS_EXTENTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 230, METHOD_NEITHER, FILE_ANY_ACCESS) // QUERY_DIRECT_ACCESS_EXTENTS
|
||||
#define FSCTL_NOTIFY_STORAGE_SPACE_ALLOCATION CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 231, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SSDI_STORAGE_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 232, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_QUERY_DIRECT_IMAGE_ORIGINAL_BASE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 233, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_READ_UNPRIVILEGED_USN_JOURNAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 234, METHOD_NEITHER, FILE_ANY_ACCESS) // READ_USN_JOURNAL_DATA, USN
|
||||
|
||||
#define FSCTL_GHOST_FILE_EXTENTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 235, METHOD_BUFFERED, FILE_WRITE_ACCESS) // FSCTL_GHOST_FILE_EXTENTS_INPUT_BUFFER
|
||||
#define FSCTL_QUERY_GHOSTED_FILE_EXTENTS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 236, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_UNMAP_SPACE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 237, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_HCS_SYNC_NO_WRITE_TUNNEL_REQUEST CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 238, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_START_VIRTUALIZATION_INSTANCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 240, METHOD_BUFFERED, FILE_ANY_ACCESS) // VIRTUALIZATION_INSTANCE_INFO_INPUT, VIRTUALIZATION_INSTANCE_INFO_OUTPUT
|
||||
#define FSCTL_GET_FILTER_FILE_IDENTIFIER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 241, METHOD_BUFFERED, FILE_ANY_ACCESS) // GET_FILTER_FILE_IDENTIFIER_INPUT, GET_FILTER_FILE_IDENTIFIER_OUTPUT
|
||||
|
||||
#define FSCTL_STREAMS_QUERY_PARAMETERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 241, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_STREAMS_ASSOCIATE_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 242, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_STREAMS_QUERY_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 243, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 244, METHOD_NEITHER, FILE_ANY_ACCESS) // STARTING_VCN_INPUT_BUFFER, RETRIEVAL_POINTERS_AND_REFCOUNT_BUFFER
|
||||
|
||||
#define FSCTL_QUERY_VOLUME_NUMA_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 245, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
|
||||
#define FSCTL_REFS_DEALLOCATE_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 246, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_QUERY_REFS_SMR_VOLUME_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 247, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SET_REFS_SMR_VOLUME_GC_PARAMETERS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 248, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SET_REFS_FILE_STRICTLY_SEQUENTIAL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 249, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 250, METHOD_BUFFERED, FILE_WRITE_DATA)
|
||||
#define FSCTL_QUERY_BAD_RANGES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 251, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SET_DAX_ALLOC_ALIGNMENT_HINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 252, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_DELETE_CORRUPTED_REFS_CONTAINER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 253, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SCRUB_UNDISCOVERABLE_ID CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 254, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_NOTIFY_DATA_CHANGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 255, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_START_VIRTUALIZATION_INSTANCE_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 256, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_ENCRYPTION_KEY_CONTROL CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 257, METHOD_BUFFERED, FILE_ANY_ACCESS) // protect/unprotect under DPL
|
||||
#define FSCTL_VIRTUAL_STORAGE_SET_BEHAVIOR CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 258, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_SET_REPARSE_POINT_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 259, METHOD_BUFFERED, FILE_SPECIAL_ACCESS) // REPARSE_DATA_BUFFER_EX
|
||||
#define FSCTL_REARRANGE_FILE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 264, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS) // REARRANGE_FILE_DATA
|
||||
#define FSCTL_VIRTUAL_STORAGE_PASSTHROUGH CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 265, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_GET_RETRIEVAL_POINTER_COUNT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 266, METHOD_NEITHER, FILE_ANY_ACCESS) // STARTING_VCN_INPUT_BUFFER, RETRIEVAL_POINTER_COUNT
|
||||
#define FSCTL_ENABLE_PER_IO_FLAGS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 267, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_QUERY_ASYNC_DUPLICATE_EXTENTS_STATUS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 268, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_SMB_SHARE_FLUSH_AND_PURGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 271, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 272, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_MANAGE_BYPASS_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 274, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_REFS_DEALLOCATE_RANGES_EX CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 275, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
#define FSCTL_SET_CACHED_RUNS_STATE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 276, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_SET_VOLUME_COMPRESSION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 277, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_QUERY_VOLUME_COMPRESSION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 278, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_DUPLICATE_CLUSTER CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 279, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CREATE_LCN_WEAK_REFERENCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 280, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CLEAR_LCN_WEAK_REFERENCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 281, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_QUERY_LCN_WEAK_REFERENCE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 282, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CLEAR_ALL_LCN_WEAK_REFERENCES CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 283, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_SET_VOLUME_DEDUP_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 284, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_QUERY_VOLUME_DEDUP_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 285, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_LMR_QUERY_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 286, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_CHECKPOINT_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 287, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_QUERY_VOLUME_TOTAL_SHARED_LCNS CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 288, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_UPGRADE_VOLUME CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 289, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_SET_VOLUME_IO_METRICS_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 290, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_QUERY_VOLUME_IO_METRICS_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 291, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_REFS_SET_ROLLBACK_PROTECTION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 292, METHOD_BUFFERED, FILE_ANY_ACCESS) // REFS_SET_ROLLBACK_PROTECTION_INFO_INPUT_BUFFER
|
||||
#define FSCTL_REFS_QUERY_ROLLBACK_PROTECTION_INFO CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 293, METHOD_BUFFERED, FILE_ANY_ACCESS) // REFS_QUERY_ROLLBACK_PROTECTION_INFO_OUTPUT_BUFFER
|
||||
#define FSCTL_FILE_SOV_CHECK_RANGE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 294, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define FSCTL_CASCADES_REFS_SET_FILE_REMOTE CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 295, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
|
||||
|
||||
//
|
||||
// These are the IOCTLs supported by the mount point manager.
|
||||
//
|
||||
|
||||
#define MOUNTMGR_DEVICE_NAME u"\\Device\\MountPointManager"
|
||||
#define MOUNTMGR_DOS_DEVICE_NAME u"\\\\.\\MountPointManager"
|
||||
|
||||
#define MOUNTMGRCONTROLTYPE 0x0000006D // 'm'
|
||||
#define MOUNTDEVCONTROLTYPE 0x0000004D // 'M'
|
||||
|
||||
#define IOCTL_MOUNTMGR_CREATE_POINT CTL_CODE(MOUNTMGRCONTROLTYPE, 0, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_DELETE_POINTS CTL_CODE(MOUNTMGRCONTROLTYPE, 1, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_QUERY_POINTS CTL_CODE(MOUNTMGRCONTROLTYPE, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY CTL_CODE(MOUNTMGRCONTROLTYPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER CTL_CODE(MOUNTMGRCONTROLTYPE, 4, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS CTL_CODE(MOUNTMGRCONTROLTYPE, 5, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED CTL_CODE(MOUNTMGRCONTROLTYPE, 6, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED CTL_CODE(MOUNTMGRCONTROLTYPE, 7, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_CHANGE_NOTIFY CTL_CODE(MOUNTMGRCONTROLTYPE, 8, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE CTL_CODE(MOUNTMGRCONTROLTYPE, 9, METHOD_BUFFERED, FILE_READ_ACCESS | FILE_WRITE_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES CTL_CODE(MOUNTMGRCONTROLTYPE, 10, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
#define IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION CTL_CODE(MOUNTMGRCONTROLTYPE, 11, METHOD_BUFFERED, FILE_READ_ACCESS)
|
||||
@@ -5,3 +5,15 @@ bits = platform.architecture()[0]
|
||||
bitness = int(bits[:2])
|
||||
|
||||
NATIVE_WORD_MAX_VALUE = 0xffffffff if bitness == 32 else 0xffffffffffffffff
|
||||
|
||||
# python implementation of CTL_CODE (macro to compute IOCTL code from param.
|
||||
# The python implem simplify the code parsing define (macro) by not handling macro functions
|
||||
|
||||
# Original MACRO:
|
||||
#
|
||||
# #define CTL_CODE( DeviceType, Function, Method, Access ) ( \
|
||||
# ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
|
||||
# )
|
||||
|
||||
def CTL_CODE(DeviceType, Function, Method, Access):
|
||||
return (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
|
||||
|
||||
@@ -87,4 +87,4 @@ BOOL LockFileEx(
|
||||
[in] DWORD nNumberOfBytesToLockLow,
|
||||
[in] DWORD nNumberOfBytesToLockHigh,
|
||||
[in, out] LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
);
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
BOOL GetOverlappedResult(
|
||||
[in] HANDLE hFile,
|
||||
[in] LPOVERLAPPED lpOverlapped,
|
||||
[out] LPDWORD lpNumberOfBytesTransferred,
|
||||
[in] BOOL bWait
|
||||
);
|
||||
|
||||
HANDLE CreateIoCompletionPort(
|
||||
[in] HANDLE FileHandle,
|
||||
[in, optional] HANDLE ExistingCompletionPort,
|
||||
[in] ULONG_PTR CompletionKey,
|
||||
[in] DWORD NumberOfConcurrentThreads
|
||||
);
|
||||
|
||||
BOOL GetQueuedCompletionStatus(
|
||||
[in] HANDLE CompletionPort,
|
||||
LPDWORD lpNumberOfBytesTransferred,
|
||||
[out] PULONG_PTR lpCompletionKey,
|
||||
[out] LPOVERLAPPED *lpOverlapped,
|
||||
[in] DWORD dwMilliseconds
|
||||
);
|
||||
|
||||
BOOL GetQueuedCompletionStatusEx(
|
||||
[in] HANDLE CompletionPort,
|
||||
[out] LPOVERLAPPED_ENTRY lpCompletionPortEntries,
|
||||
[in] ULONG ulCount,
|
||||
[out] PULONG ulNumEntriesRemoved,
|
||||
[in] DWORD dwMilliseconds,
|
||||
[in] BOOL fAlertable
|
||||
);
|
||||
|
||||
BOOL PostQueuedCompletionStatus(
|
||||
[in] HANDLE CompletionPort,
|
||||
[in] DWORD dwNumberOfBytesTransferred,
|
||||
[in] ULONG_PTR dwCompletionKey,
|
||||
[in, optional] LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
BOOL CancelIo(
|
||||
[in] HANDLE hFile
|
||||
);
|
||||
|
||||
BOOL CancelIoEx(
|
||||
[in] HANDLE hFile,
|
||||
[in, optional] LPOVERLAPPED lpOverlapped
|
||||
);
|
||||
|
||||
BOOL CancelSynchronousIo(
|
||||
[in] HANDLE hThread
|
||||
);
|
||||
|
||||
@@ -16,6 +16,7 @@ PDWORD = POINTER(DWORD)
|
||||
LPDWORD = POINTER(DWORD)
|
||||
LPBYTE = POINTER(BYTE)
|
||||
ULONG_PTR = PVOID
|
||||
PULONG_PTR = POINTER(ULONG_PTR)
|
||||
LONG_PTR = PVOID
|
||||
DWORD_PTR = ULONG_PTR
|
||||
PDWORD_PTR = POINTER(DWORD_PTR)
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
typedef struct _OVERLAPPED {
|
||||
ULONG_PTR Internal;
|
||||
ULONG_PTR InternalHigh;
|
||||
union {
|
||||
struct {
|
||||
DWORD Offset;
|
||||
DWORD OffsetHigh;
|
||||
} _ANON_OVERLAPPED_DUMMYSTRUCTNAME;
|
||||
PVOID Pointer;
|
||||
} _ANON_OVERLAPPED_DUMMYUNIONNAME;
|
||||
HANDLE hEvent;
|
||||
} OVERLAPPED, *LPOVERLAPPED;
|
||||
|
||||
typedef struct _OVERLAPPED_ENTRY {
|
||||
ULONG_PTR lpCompletionKey;
|
||||
LPOVERLAPPED lpOverlapped;
|
||||
ULONG_PTR Internal;
|
||||
DWORD dwNumberOfBytesTransferred;
|
||||
} OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY;
|
||||
@@ -0,0 +1,266 @@
|
||||
typedef struct _IMAGE_FILE_HEADER {
|
||||
WORD Machine;
|
||||
WORD NumberOfSections;
|
||||
DWORD TimeDateStamp;
|
||||
DWORD PointerToSymbolTable;
|
||||
DWORD NumberOfSymbols;
|
||||
WORD SizeOfOptionalHeader;
|
||||
WORD Characteristics;
|
||||
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
|
||||
|
||||
typedef struct _IMAGE_DATA_DIRECTORY {
|
||||
DWORD VirtualAddress;
|
||||
DWORD Size;
|
||||
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
|
||||
|
||||
|
||||
typedef struct _IMAGE_SECTION_HEADER {
|
||||
BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
|
||||
DWORD VirtualSize;
|
||||
DWORD VirtualAddress;
|
||||
DWORD SizeOfRawData;
|
||||
DWORD PointerToRawData;
|
||||
DWORD PointerToRelocations;
|
||||
DWORD PointerToLinenumbers;
|
||||
WORD NumberOfRelocations;
|
||||
WORD NumberOfLinenumbers;
|
||||
DWORD Characteristics;
|
||||
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
|
||||
|
||||
typedef struct _IMAGE_OPTIONAL_HEADER64 {
|
||||
WORD Magic;
|
||||
BYTE MajorLinkerVersion;
|
||||
BYTE MinorLinkerVersion;
|
||||
DWORD SizeOfCode;
|
||||
DWORD SizeOfInitializedData;
|
||||
DWORD SizeOfUninitializedData;
|
||||
DWORD AddressOfEntryPoint;
|
||||
DWORD BaseOfCode;
|
||||
ULONGLONG ImageBase;
|
||||
DWORD SectionAlignment;
|
||||
DWORD FileAlignment;
|
||||
WORD MajorOperatingSystemVersion;
|
||||
WORD MinorOperatingSystemVersion;
|
||||
WORD MajorImageVersion;
|
||||
WORD MinorImageVersion;
|
||||
WORD MajorSubsystemVersion;
|
||||
WORD MinorSubsystemVersion;
|
||||
DWORD Win32VersionValue;
|
||||
DWORD SizeOfImage;
|
||||
DWORD SizeOfHeaders;
|
||||
DWORD CheckSum;
|
||||
WORD Subsystem;
|
||||
WORD DllCharacteristics;
|
||||
ULONGLONG SizeOfStackReserve;
|
||||
ULONGLONG SizeOfStackCommit;
|
||||
ULONGLONG SizeOfHeapReserve;
|
||||
ULONGLONG SizeOfHeapCommit;
|
||||
DWORD LoaderFlags;
|
||||
DWORD NumberOfRvaAndSizes;
|
||||
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
|
||||
} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64;
|
||||
|
||||
|
||||
typedef struct _IMAGE_OPTIONAL_HEADER {
|
||||
WORD Magic;
|
||||
BYTE MajorLinkerVersion;
|
||||
BYTE MinorLinkerVersion;
|
||||
DWORD SizeOfCode;
|
||||
DWORD SizeOfInitializedData;
|
||||
DWORD SizeOfUninitializedData;
|
||||
DWORD AddressOfEntryPoint;
|
||||
DWORD BaseOfCode;
|
||||
DWORD BaseOfData;
|
||||
DWORD ImageBase;
|
||||
DWORD SectionAlignment;
|
||||
DWORD FileAlignment;
|
||||
WORD MajorOperatingSystemVersion;
|
||||
WORD MinorOperatingSystemVersion;
|
||||
WORD MajorImageVersion;
|
||||
WORD MinorImageVersion;
|
||||
WORD MajorSubsystemVersion;
|
||||
WORD MinorSubsystemVersion;
|
||||
DWORD Win32VersionValue;
|
||||
DWORD SizeOfImage;
|
||||
DWORD SizeOfHeaders;
|
||||
DWORD CheckSum;
|
||||
WORD Subsystem;
|
||||
WORD DllCharacteristics;
|
||||
DWORD SizeOfStackReserve;
|
||||
DWORD SizeOfStackCommit;
|
||||
DWORD SizeOfHeapReserve;
|
||||
DWORD SizeOfHeapCommit;
|
||||
DWORD LoaderFlags;
|
||||
DWORD NumberOfRvaAndSizes;
|
||||
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
|
||||
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;
|
||||
|
||||
typedef struct _IMAGE_NT_HEADERS64 {
|
||||
DWORD Signature;
|
||||
IMAGE_FILE_HEADER FileHeader;
|
||||
IMAGE_OPTIONAL_HEADER64 OptionalHeader;
|
||||
} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64;
|
||||
|
||||
typedef struct _IMAGE_NT_HEADERS {
|
||||
DWORD Signature;
|
||||
IMAGE_FILE_HEADER FileHeader;
|
||||
IMAGE_OPTIONAL_HEADER32 OptionalHeader;
|
||||
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
|
||||
|
||||
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
|
||||
DWORD OriginalFirstThunk;
|
||||
DWORD TimeDateStamp;
|
||||
DWORD ForwarderChain;
|
||||
DWORD Name;
|
||||
DWORD FirstThunk;
|
||||
} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR;
|
||||
|
||||
typedef struct _IMAGE_IMPORT_BY_NAME {
|
||||
WORD Hint;
|
||||
BYTE Name[1];
|
||||
} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
|
||||
|
||||
typedef struct _IMAGE_EXPORT_DIRECTORY {
|
||||
DWORD Characteristics;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
DWORD Name;
|
||||
DWORD Base;
|
||||
DWORD NumberOfFunctions;
|
||||
DWORD NumberOfNames;
|
||||
DWORD AddressOfFunctions;
|
||||
DWORD AddressOfNames;
|
||||
DWORD AddressOfNameOrdinals;
|
||||
} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
|
||||
|
||||
typedef struct _IMAGE_DEBUG_DIRECTORY {
|
||||
DWORD Characteristics;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
DWORD Type;
|
||||
DWORD SizeOfData;
|
||||
DWORD AddressOfRawData;
|
||||
DWORD PointerToRawData;
|
||||
} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;
|
||||
|
||||
typedef struct _IMAGE_BASE_RELOCATION {
|
||||
DWORD VirtualAddress;
|
||||
DWORD SizeOfBlock;
|
||||
} IMAGE_BASE_RELOCATION, *PIMAGE_BASE_RELOCATION;
|
||||
|
||||
|
||||
// not found on MSDN : from symbols
|
||||
typedef struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY {
|
||||
WORD Flags;
|
||||
WORD Catalog;
|
||||
DWORD CatalogOffset;
|
||||
DWORD Reserved;
|
||||
} IMAGE_LOAD_CONFIG_CODE_INTEGRITY, *PIMAGE_LOAD_CONFIG_CODE_INTEGRITY;
|
||||
|
||||
|
||||
typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32 {
|
||||
DWORD Size;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
DWORD GlobalFlagsClear;
|
||||
DWORD GlobalFlagsSet;
|
||||
DWORD CriticalSectionDefaultTimeout;
|
||||
DWORD DeCommitFreeBlockThreshold;
|
||||
DWORD DeCommitTotalFreeThreshold;
|
||||
DWORD LockPrefixTable;
|
||||
DWORD MaximumAllocationSize;
|
||||
DWORD VirtualMemoryThreshold;
|
||||
DWORD ProcessHeapFlags;
|
||||
DWORD ProcessAffinityMask;
|
||||
WORD CSDVersion;
|
||||
WORD DependentLoadFlags;
|
||||
DWORD EditList;
|
||||
DWORD SecurityCookie;
|
||||
DWORD SEHandlerTable;
|
||||
DWORD SEHandlerCount;
|
||||
DWORD GuardCFCheckFunctionPointer;
|
||||
DWORD GuardCFDispatchFunctionPointer;
|
||||
DWORD GuardCFFunctionTable;
|
||||
DWORD GuardCFFunctionCount;
|
||||
DWORD GuardFlags;
|
||||
IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity;
|
||||
DWORD GuardAddressTakenIatEntryTable;
|
||||
DWORD GuardAddressTakenIatEntryCount;
|
||||
DWORD GuardLongJumpTargetTable;
|
||||
DWORD GuardLongJumpTargetCount;
|
||||
DWORD DynamicValueRelocTable;
|
||||
DWORD CHPEMetadataPointer;
|
||||
DWORD GuardRFFailureRoutine;
|
||||
DWORD GuardRFFailureRoutineFunctionPointer;
|
||||
DWORD DynamicValueRelocTableOffset;
|
||||
WORD DynamicValueRelocTableSection;
|
||||
WORD Reserved2;
|
||||
DWORD GuardRFVerifyStackPointerFunctionPointer;
|
||||
DWORD HotPatchTableOffset;
|
||||
DWORD Reserved3;
|
||||
DWORD EnclaveConfigurationPointer;
|
||||
DWORD VolatileMetadataPointer;
|
||||
DWORD GuardEHContinuationTable;
|
||||
DWORD GuardEHContinuationCount;
|
||||
DWORD GuardXFGCheckFunctionPointer;
|
||||
DWORD GuardXFGDispatchFunctionPointer;
|
||||
DWORD GuardXFGTableDispatchFunctionPointer;
|
||||
DWORD CastGuardOsDeterminedFailureMode;
|
||||
DWORD GuardMemcpyFunctionPointer;
|
||||
} IMAGE_LOAD_CONFIG_DIRECTORY32, *PIMAGE_LOAD_CONFIG_DIRECTORY32;
|
||||
|
||||
|
||||
typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64 {
|
||||
DWORD Size;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
DWORD GlobalFlagsClear;
|
||||
DWORD GlobalFlagsSet;
|
||||
DWORD CriticalSectionDefaultTimeout;
|
||||
ULONGLONG DeCommitFreeBlockThreshold;
|
||||
ULONGLONG DeCommitTotalFreeThreshold;
|
||||
ULONGLONG LockPrefixTable;
|
||||
ULONGLONG MaximumAllocationSize;
|
||||
ULONGLONG VirtualMemoryThreshold;
|
||||
ULONGLONG ProcessAffinityMask;
|
||||
DWORD ProcessHeapFlags;
|
||||
WORD CSDVersion;
|
||||
WORD DependentLoadFlags;
|
||||
ULONGLONG EditList;
|
||||
ULONGLONG SecurityCookie;
|
||||
ULONGLONG SEHandlerTable;
|
||||
ULONGLONG SEHandlerCount;
|
||||
ULONGLONG GuardCFCheckFunctionPointer;
|
||||
ULONGLONG GuardCFDispatchFunctionPointer;
|
||||
ULONGLONG GuardCFFunctionTable;
|
||||
ULONGLONG GuardCFFunctionCount;
|
||||
DWORD GuardFlags;
|
||||
IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity;
|
||||
ULONGLONG GuardAddressTakenIatEntryTable;
|
||||
ULONGLONG GuardAddressTakenIatEntryCount;
|
||||
ULONGLONG GuardLongJumpTargetTable;
|
||||
ULONGLONG GuardLongJumpTargetCount;
|
||||
ULONGLONG DynamicValueRelocTable;
|
||||
ULONGLONG CHPEMetadataPointer;
|
||||
ULONGLONG GuardRFFailureRoutine;
|
||||
ULONGLONG GuardRFFailureRoutineFunctionPointer;
|
||||
DWORD DynamicValueRelocTableOffset;
|
||||
WORD DynamicValueRelocTableSection;
|
||||
WORD Reserved2;
|
||||
ULONGLONG GuardRFVerifyStackPointerFunctionPointer;
|
||||
DWORD HotPatchTableOffset;
|
||||
DWORD Reserved3;
|
||||
ULONGLONG EnclaveConfigurationPointer;
|
||||
ULONGLONG VolatileMetadataPointer;
|
||||
ULONGLONG GuardEHContinuationTable;
|
||||
ULONGLONG GuardEHContinuationCount;
|
||||
ULONGLONG GuardXFGCheckFunctionPointer;
|
||||
ULONGLONG GuardXFGDispatchFunctionPointer;
|
||||
ULONGLONG GuardXFGTableDispatchFunctionPointer;
|
||||
ULONGLONG CastGuardOsDeterminedFailureMode;
|
||||
ULONGLONG GuardMemcpyFunctionPointer;
|
||||
} IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64;
|
||||
@@ -897,158 +897,6 @@ typedef struct _LDR_DATA_TABLE_ENTRY {
|
||||
} LDR_DATA_TABLE_ENTRY, *PLDR_DATA_TABLE_ENTRY;
|
||||
|
||||
|
||||
typedef struct _IMAGE_FILE_HEADER {
|
||||
WORD Machine;
|
||||
WORD NumberOfSections;
|
||||
DWORD TimeDateStamp;
|
||||
DWORD PointerToSymbolTable;
|
||||
DWORD NumberOfSymbols;
|
||||
WORD SizeOfOptionalHeader;
|
||||
WORD Characteristics;
|
||||
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;
|
||||
|
||||
typedef struct _IMAGE_DATA_DIRECTORY {
|
||||
DWORD VirtualAddress;
|
||||
DWORD Size;
|
||||
} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;
|
||||
|
||||
|
||||
typedef struct _IMAGE_SECTION_HEADER {
|
||||
BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
|
||||
DWORD VirtualSize;
|
||||
DWORD VirtualAddress;
|
||||
DWORD SizeOfRawData;
|
||||
DWORD PointerToRawData;
|
||||
DWORD PointerToRelocations;
|
||||
DWORD PointerToLinenumbers;
|
||||
WORD NumberOfRelocations;
|
||||
WORD NumberOfLinenumbers;
|
||||
DWORD Characteristics;
|
||||
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;
|
||||
|
||||
typedef struct _IMAGE_OPTIONAL_HEADER64 {
|
||||
WORD Magic;
|
||||
BYTE MajorLinkerVersion;
|
||||
BYTE MinorLinkerVersion;
|
||||
DWORD SizeOfCode;
|
||||
DWORD SizeOfInitializedData;
|
||||
DWORD SizeOfUninitializedData;
|
||||
DWORD AddressOfEntryPoint;
|
||||
DWORD BaseOfCode;
|
||||
ULONGLONG ImageBase;
|
||||
DWORD SectionAlignment;
|
||||
DWORD FileAlignment;
|
||||
WORD MajorOperatingSystemVersion;
|
||||
WORD MinorOperatingSystemVersion;
|
||||
WORD MajorImageVersion;
|
||||
WORD MinorImageVersion;
|
||||
WORD MajorSubsystemVersion;
|
||||
WORD MinorSubsystemVersion;
|
||||
DWORD Win32VersionValue;
|
||||
DWORD SizeOfImage;
|
||||
DWORD SizeOfHeaders;
|
||||
DWORD CheckSum;
|
||||
WORD Subsystem;
|
||||
WORD DllCharacteristics;
|
||||
ULONGLONG SizeOfStackReserve;
|
||||
ULONGLONG SizeOfStackCommit;
|
||||
ULONGLONG SizeOfHeapReserve;
|
||||
ULONGLONG SizeOfHeapCommit;
|
||||
DWORD LoaderFlags;
|
||||
DWORD NumberOfRvaAndSizes;
|
||||
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
|
||||
} IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64;
|
||||
|
||||
|
||||
typedef struct _IMAGE_OPTIONAL_HEADER {
|
||||
WORD Magic;
|
||||
BYTE MajorLinkerVersion;
|
||||
BYTE MinorLinkerVersion;
|
||||
DWORD SizeOfCode;
|
||||
DWORD SizeOfInitializedData;
|
||||
DWORD SizeOfUninitializedData;
|
||||
DWORD AddressOfEntryPoint;
|
||||
DWORD BaseOfCode;
|
||||
DWORD BaseOfData;
|
||||
DWORD ImageBase;
|
||||
DWORD SectionAlignment;
|
||||
DWORD FileAlignment;
|
||||
WORD MajorOperatingSystemVersion;
|
||||
WORD MinorOperatingSystemVersion;
|
||||
WORD MajorImageVersion;
|
||||
WORD MinorImageVersion;
|
||||
WORD MajorSubsystemVersion;
|
||||
WORD MinorSubsystemVersion;
|
||||
DWORD Win32VersionValue;
|
||||
DWORD SizeOfImage;
|
||||
DWORD SizeOfHeaders;
|
||||
DWORD CheckSum;
|
||||
WORD Subsystem;
|
||||
WORD DllCharacteristics;
|
||||
DWORD SizeOfStackReserve;
|
||||
DWORD SizeOfStackCommit;
|
||||
DWORD SizeOfHeapReserve;
|
||||
DWORD SizeOfHeapCommit;
|
||||
DWORD LoaderFlags;
|
||||
DWORD NumberOfRvaAndSizes;
|
||||
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
|
||||
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;
|
||||
|
||||
typedef struct _IMAGE_NT_HEADERS64 {
|
||||
DWORD Signature;
|
||||
IMAGE_FILE_HEADER FileHeader;
|
||||
IMAGE_OPTIONAL_HEADER64 OptionalHeader;
|
||||
} IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64;
|
||||
|
||||
typedef struct _IMAGE_NT_HEADERS {
|
||||
DWORD Signature;
|
||||
IMAGE_FILE_HEADER FileHeader;
|
||||
IMAGE_OPTIONAL_HEADER32 OptionalHeader;
|
||||
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
|
||||
|
||||
typedef struct _IMAGE_IMPORT_DESCRIPTOR {
|
||||
DWORD OriginalFirstThunk;
|
||||
DWORD TimeDateStamp;
|
||||
DWORD ForwarderChain;
|
||||
DWORD Name;
|
||||
DWORD FirstThunk;
|
||||
} IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR;
|
||||
|
||||
typedef struct _IMAGE_IMPORT_BY_NAME {
|
||||
WORD Hint;
|
||||
BYTE Name[1];
|
||||
} IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME;
|
||||
|
||||
typedef struct _IMAGE_EXPORT_DIRECTORY {
|
||||
DWORD Characteristics;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
DWORD Name;
|
||||
DWORD Base;
|
||||
DWORD NumberOfFunctions;
|
||||
DWORD NumberOfNames;
|
||||
DWORD AddressOfFunctions;
|
||||
DWORD AddressOfNames;
|
||||
DWORD AddressOfNameOrdinals;
|
||||
} IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY;
|
||||
|
||||
typedef struct _IMAGE_DEBUG_DIRECTORY {
|
||||
DWORD Characteristics;
|
||||
DWORD TimeDateStamp;
|
||||
WORD MajorVersion;
|
||||
WORD MinorVersion;
|
||||
DWORD Type;
|
||||
DWORD SizeOfData;
|
||||
DWORD AddressOfRawData;
|
||||
DWORD PointerToRawData;
|
||||
} IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY;
|
||||
|
||||
typedef struct _IMAGE_BASE_RELOCATION {
|
||||
DWORD VirtualAddress;
|
||||
DWORD SizeOfBlock;
|
||||
} IMAGE_BASE_RELOCATION, *PIMAGE_BASE_RELOCATION;
|
||||
|
||||
typedef struct _MEMORY_BASIC_INFORMATION {
|
||||
PVOID BaseAddress;
|
||||
PVOID AllocationBase;
|
||||
@@ -1539,19 +1387,6 @@ typedef struct _OSVERSIONINFOEXW {
|
||||
} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
|
||||
|
||||
|
||||
typedef struct _OVERLAPPED {
|
||||
ULONG_PTR Internal;
|
||||
ULONG_PTR InternalHigh;
|
||||
union {
|
||||
struct {
|
||||
DWORD Offset;
|
||||
DWORD OffsetHigh;
|
||||
} _ANON_OVERLAPPED_DUMMYSTRUCTNAME;
|
||||
PVOID Pointer;
|
||||
} _ANON_OVERLAPPED_DUMMYUNIONNAME;
|
||||
HANDLE hEvent;
|
||||
} OVERLAPPED, *LPOVERLAPPED;
|
||||
|
||||
|
||||
typedef struct _EXCEPTION_RECORD {
|
||||
DWORD ExceptionCode;
|
||||
|
||||
@@ -661,10 +661,12 @@ class ModuleGenerator(object):
|
||||
def add_module_dependancy(self, module):
|
||||
self.dependances_modules.add(module)
|
||||
|
||||
|
||||
def get_template_filename(self):
|
||||
return pjoin(self.src, "template.py")
|
||||
|
||||
def get_template_exports(self):
|
||||
return []
|
||||
|
||||
def parse_source_directory(self, recurse=False):
|
||||
self.nodes += ParsedDirectory(self.filetype, self.src, recurse=recurse).nodes
|
||||
|
||||
@@ -702,7 +704,11 @@ class ModuleGenerator(object):
|
||||
def generate(self):
|
||||
self.parse_source_directory()
|
||||
# Flatten the graph
|
||||
flatten_nodes = self.resolve_dependancies()
|
||||
template_exports = self.get_template_exports()
|
||||
if template_exports:
|
||||
template_exports = [FakeExporter(template_exports)]
|
||||
flatten_nodes = self.resolve_dependancies(depnodes=template_exports)
|
||||
assert flatten_nodes
|
||||
self.generate_from_nodelist(flatten_nodes)
|
||||
self.nodes = flatten_nodes
|
||||
|
||||
@@ -713,6 +719,7 @@ class ModuleGenerator(object):
|
||||
depnodes += moddep.nodes
|
||||
flatten_nodes = self.resolve_dependancies(depnodes=depnodes)
|
||||
self.generate_from_nodelist(flatten_nodes)
|
||||
self.nodes = flatten_nodes
|
||||
|
||||
def after_ctypes_generator_init(self, ctypesgen):
|
||||
pass
|
||||
@@ -756,6 +763,11 @@ shutil.copy(from_here(r"definitions\flag.py"), DEST_DIR)
|
||||
print("== Generating defines ==")
|
||||
# Generate defines
|
||||
definemodulegenerator = ModuleGenerator("windef", DefinitionParsedFile, DefineCtypesGenerator, DefineDocGenerator, from_here(r"definitions\defines"))
|
||||
# The windef.py template explicitly export CTL_CODE macro as a python function to simplify parsing
|
||||
# Add here the fact that this symbol is exported somewhere to prevent a
|
||||
# ValueError: Missing dependancy <CTL_CODE> of <DefinitionParsedFile "XXX">
|
||||
# Give a nive way to the template to give its list of exports ?
|
||||
definemodulegenerator.get_template_exports = lambda : ["CTL_CODE"]
|
||||
definemodulegenerator.generate()
|
||||
definemodulegenerator.generate_doc(from_here(r"..\docs\source\windef_generated.rst"))
|
||||
|
||||
|
||||
@@ -2444,6 +2444,265 @@ WinDef
|
||||
.. autodata:: POLICY_LOOKUP_NAMES
|
||||
.. autodata:: POLICY_NOTIFICATION
|
||||
.. autodata:: POLICY_ALL_ACCESS
|
||||
.. autodata:: METHOD_BUFFERED
|
||||
.. autodata:: METHOD_IN_DIRECT
|
||||
.. autodata:: METHOD_OUT_DIRECT
|
||||
.. autodata:: METHOD_NEITHER
|
||||
.. autodata:: METHOD_DIRECT_TO_HARDWARE
|
||||
.. autodata:: METHOD_DIRECT_FROM_HARDWARE
|
||||
.. autodata:: FILE_ANY_ACCESS
|
||||
.. autodata:: FILE_SPECIAL_ACCESS
|
||||
.. autodata:: FILE_READ_ACCESS
|
||||
.. autodata:: FILE_WRITE_ACCESS
|
||||
.. autodata:: FILE_DISPOSITION_DO_NOT_DELETE
|
||||
.. autodata:: FILE_DISPOSITION_DELETE
|
||||
.. autodata:: FILE_DISPOSITION_POSIX_SEMANTICS
|
||||
.. autodata:: FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK
|
||||
.. autodata:: FILE_DISPOSITION_ON_CLOSE
|
||||
.. autodata:: FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE
|
||||
.. autodata:: FSCTL_REQUEST_OPLOCK_LEVEL_1
|
||||
.. autodata:: FSCTL_REQUEST_OPLOCK_LEVEL_2
|
||||
.. autodata:: FSCTL_REQUEST_BATCH_OPLOCK
|
||||
.. autodata:: FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
|
||||
.. autodata:: FSCTL_OPBATCH_ACK_CLOSE_PENDING
|
||||
.. autodata:: FSCTL_OPLOCK_BREAK_NOTIFY
|
||||
.. autodata:: FSCTL_LOCK_VOLUME
|
||||
.. autodata:: FSCTL_UNLOCK_VOLUME
|
||||
.. autodata:: FSCTL_DISMOUNT_VOLUME
|
||||
.. autodata:: FSCTL_IS_VOLUME_MOUNTED
|
||||
.. autodata:: FSCTL_IS_PATHNAME_VALID
|
||||
.. autodata:: FSCTL_MARK_VOLUME_DIRTY
|
||||
.. autodata:: FSCTL_QUERY_RETRIEVAL_POINTERS
|
||||
.. autodata:: FSCTL_GET_COMPRESSION
|
||||
.. autodata:: FSCTL_SET_COMPRESSION
|
||||
.. autodata:: FSCTL_SET_BOOTLOADER_ACCESSED
|
||||
.. autodata:: FSCTL_MARK_AS_SYSTEM_HIVE
|
||||
.. autodata:: FSCTL_OPLOCK_BREAK_ACK_NO_2
|
||||
.. autodata:: FSCTL_INVALIDATE_VOLUMES
|
||||
.. autodata:: FSCTL_QUERY_FAT_BPB
|
||||
.. autodata:: FSCTL_REQUEST_FILTER_OPLOCK
|
||||
.. autodata:: FSCTL_FILESYSTEM_GET_STATISTICS
|
||||
.. autodata:: FSCTL_GET_NTFS_VOLUME_DATA
|
||||
.. autodata:: FSCTL_GET_NTFS_FILE_RECORD
|
||||
.. autodata:: FSCTL_GET_VOLUME_BITMAP
|
||||
.. autodata:: FSCTL_GET_RETRIEVAL_POINTERS
|
||||
.. autodata:: FSCTL_MOVE_FILE
|
||||
.. autodata:: FSCTL_IS_VOLUME_DIRTY
|
||||
.. autodata:: FSCTL_ALLOW_EXTENDED_DASD_IO
|
||||
.. autodata:: FSCTL_FIND_FILES_BY_SID
|
||||
.. autodata:: FSCTL_SET_OBJECT_ID
|
||||
.. autodata:: FSCTL_GET_OBJECT_ID
|
||||
.. autodata:: FSCTL_DELETE_OBJECT_ID
|
||||
.. autodata:: FSCTL_SET_REPARSE_POINT
|
||||
.. autodata:: FSCTL_GET_REPARSE_POINT
|
||||
.. autodata:: FSCTL_DELETE_REPARSE_POINT
|
||||
.. autodata:: FSCTL_ENUM_USN_DATA
|
||||
.. autodata:: FSCTL_SECURITY_ID_CHECK
|
||||
.. autodata:: FSCTL_READ_USN_JOURNAL
|
||||
.. autodata:: FSCTL_SET_OBJECT_ID_EXTENDED
|
||||
.. autodata:: FSCTL_CREATE_OR_GET_OBJECT_ID
|
||||
.. autodata:: FSCTL_SET_SPARSE
|
||||
.. autodata:: FSCTL_SET_ZERO_DATA
|
||||
.. autodata:: FSCTL_QUERY_ALLOCATED_RANGES
|
||||
.. autodata:: FSCTL_ENABLE_UPGRADE
|
||||
.. autodata:: FSCTL_SET_ENCRYPTION
|
||||
.. autodata:: FSCTL_ENCRYPTION_FSCTL_IO
|
||||
.. autodata:: FSCTL_WRITE_RAW_ENCRYPTED
|
||||
.. autodata:: FSCTL_READ_RAW_ENCRYPTED
|
||||
.. autodata:: FSCTL_CREATE_USN_JOURNAL
|
||||
.. autodata:: FSCTL_READ_FILE_USN_DATA
|
||||
.. autodata:: FSCTL_WRITE_USN_CLOSE_RECORD
|
||||
.. autodata:: FSCTL_EXTEND_VOLUME
|
||||
.. autodata:: FSCTL_QUERY_USN_JOURNAL
|
||||
.. autodata:: FSCTL_DELETE_USN_JOURNAL
|
||||
.. autodata:: FSCTL_MARK_HANDLE
|
||||
.. autodata:: FSCTL_SIS_COPYFILE
|
||||
.. autodata:: FSCTL_SIS_LINK_FILES
|
||||
.. autodata:: FSCTL_RECALL_FILE
|
||||
.. autodata:: FSCTL_READ_FROM_PLEX
|
||||
.. autodata:: FSCTL_FILE_PREFETCH
|
||||
.. autodata:: FSCTL_MAKE_MEDIA_COMPATIBLE
|
||||
.. autodata:: FSCTL_SET_DEFECT_MANAGEMENT
|
||||
.. autodata:: FSCTL_QUERY_SPARING_INFO
|
||||
.. autodata:: FSCTL_QUERY_ON_DISK_VOLUME_INFO
|
||||
.. autodata:: FSCTL_SET_VOLUME_COMPRESSION_STATE
|
||||
.. autodata:: FSCTL_TXFS_MODIFY_RM
|
||||
.. autodata:: FSCTL_TXFS_QUERY_RM_INFORMATION
|
||||
.. autodata:: FSCTL_TXFS_ROLLFORWARD_REDO
|
||||
.. autodata:: FSCTL_TXFS_ROLLFORWARD_UNDO
|
||||
.. autodata:: FSCTL_TXFS_START_RM
|
||||
.. autodata:: FSCTL_TXFS_SHUTDOWN_RM
|
||||
.. autodata:: FSCTL_TXFS_READ_BACKUP_INFORMATION
|
||||
.. autodata:: FSCTL_TXFS_WRITE_BACKUP_INFORMATION
|
||||
.. autodata:: FSCTL_TXFS_CREATE_SECONDARY_RM
|
||||
.. autodata:: FSCTL_TXFS_GET_METADATA_INFO
|
||||
.. autodata:: FSCTL_TXFS_GET_TRANSACTED_VERSION
|
||||
.. autodata:: FSCTL_TXFS_SAVEPOINT_INFORMATION
|
||||
.. autodata:: FSCTL_TXFS_CREATE_MINIVERSION
|
||||
.. autodata:: FSCTL_TXFS_TRANSACTION_ACTIVE
|
||||
.. autodata:: FSCTL_SET_ZERO_ON_DEALLOCATION
|
||||
.. autodata:: FSCTL_SET_REPAIR
|
||||
.. autodata:: FSCTL_GET_REPAIR
|
||||
.. autodata:: FSCTL_WAIT_FOR_REPAIR
|
||||
.. autodata:: FSCTL_INITIATE_REPAIR
|
||||
.. autodata:: FSCTL_CSC_INTERNAL
|
||||
.. autodata:: FSCTL_SHRINK_VOLUME
|
||||
.. autodata:: FSCTL_SET_SHORT_NAME_BEHAVIOR
|
||||
.. autodata:: FSCTL_DFSR_SET_GHOST_HANDLE_STATE
|
||||
.. autodata:: FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES
|
||||
.. autodata:: FSCTL_TXFS_LIST_TRANSACTIONS
|
||||
.. autodata:: FSCTL_QUERY_PAGEFILE_ENCRYPTION
|
||||
.. autodata:: FSCTL_RESET_VOLUME_ALLOCATION_HINTS
|
||||
.. autodata:: FSCTL_QUERY_DEPENDENT_VOLUME
|
||||
.. autodata:: FSCTL_SD_GLOBAL_CHANGE
|
||||
.. autodata:: FSCTL_TXFS_READ_BACKUP_INFORMATION2
|
||||
.. autodata:: FSCTL_LOOKUP_STREAM_FROM_CLUSTER
|
||||
.. autodata:: FSCTL_TXFS_WRITE_BACKUP_INFORMATION2
|
||||
.. autodata:: FSCTL_FILE_TYPE_NOTIFICATION
|
||||
.. autodata:: FSCTL_FILE_LEVEL_TRIM
|
||||
.. autodata:: FSCTL_GET_BOOT_AREA_INFO
|
||||
.. autodata:: FSCTL_GET_RETRIEVAL_POINTER_BASE
|
||||
.. autodata:: FSCTL_SET_PERSISTENT_VOLUME_STATE
|
||||
.. autodata:: FSCTL_QUERY_PERSISTENT_VOLUME_STATE
|
||||
.. autodata:: FSCTL_REQUEST_OPLOCK
|
||||
.. autodata:: FSCTL_CSV_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_IS_CSV_FILE
|
||||
.. autodata:: FSCTL_QUERY_FILE_SYSTEM_RECOGNITION
|
||||
.. autodata:: FSCTL_CSV_GET_VOLUME_PATH_NAME
|
||||
.. autodata:: FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT
|
||||
.. autodata:: FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME
|
||||
.. autodata:: FSCTL_IS_FILE_ON_CSV_VOLUME
|
||||
.. autodata:: FSCTL_CORRUPTION_HANDLING
|
||||
.. autodata:: FSCTL_OFFLOAD_READ
|
||||
.. autodata:: FSCTL_OFFLOAD_WRITE
|
||||
.. autodata:: FSCTL_CSV_INTERNAL
|
||||
.. autodata:: FSCTL_SET_PURGE_FAILURE_MODE
|
||||
.. autodata:: FSCTL_QUERY_FILE_LAYOUT
|
||||
.. autodata:: FSCTL_IS_VOLUME_OWNED_BYCSVFS
|
||||
.. autodata:: FSCTL_GET_INTEGRITY_INFORMATION
|
||||
.. autodata:: FSCTL_SET_INTEGRITY_INFORMATION
|
||||
.. autodata:: FSCTL_QUERY_FILE_REGIONS
|
||||
.. autodata:: FSCTL_RKF_INTERNAL
|
||||
.. autodata:: FSCTL_SCRUB_DATA
|
||||
.. autodata:: FSCTL_REPAIR_COPIES
|
||||
.. autodata:: FSCTL_DISABLE_LOCAL_BUFFERING
|
||||
.. autodata:: FSCTL_CSV_MGMT_LOCK
|
||||
.. autodata:: FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS
|
||||
.. autodata:: FSCTL_ADVANCE_FILE_ID
|
||||
.. autodata:: FSCTL_CSV_SYNC_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO
|
||||
.. autodata:: FSCTL_WRITE_USN_REASON
|
||||
.. autodata:: FSCTL_CSV_CONTROL
|
||||
.. autodata:: FSCTL_GET_REFS_VOLUME_DATA
|
||||
.. autodata:: FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_QUERY_STORAGE_CLASSES
|
||||
.. autodata:: FSCTL_QUERY_REGION_INFO
|
||||
.. autodata:: FSCTL_USN_TRACK_MODIFIED_RANGES
|
||||
.. autodata:: FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT
|
||||
.. autodata:: FSCTL_SVHDX_SYNC_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_SVHDX_SET_INITIATOR_INFORMATION
|
||||
.. autodata:: FSCTL_SET_EXTERNAL_BACKING
|
||||
.. autodata:: FSCTL_GET_EXTERNAL_BACKING
|
||||
.. autodata:: FSCTL_DELETE_EXTERNAL_BACKING
|
||||
.. autodata:: FSCTL_ENUM_EXTERNAL_BACKING
|
||||
.. autodata:: FSCTL_ENUM_OVERLAY
|
||||
.. autodata:: FSCTL_ADD_OVERLAY
|
||||
.. autodata:: FSCTL_REMOVE_OVERLAY
|
||||
.. autodata:: FSCTL_UPDATE_OVERLAY
|
||||
.. autodata:: FSCTL_SHUFFLE_FILE
|
||||
.. autodata:: FSCTL_DUPLICATE_EXTENTS_TO_FILE
|
||||
.. autodata:: FSCTL_SPARSE_OVERALLOCATE
|
||||
.. autodata:: FSCTL_STORAGE_QOS_CONTROL
|
||||
.. autodata:: FSCTL_INITIATE_FILE_METADATA_OPTIMIZATION
|
||||
.. autodata:: FSCTL_QUERY_FILE_METADATA_OPTIMIZATION
|
||||
.. autodata:: FSCTL_SVHDX_ASYNC_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_GET_WOF_VERSION
|
||||
.. autodata:: FSCTL_HCS_SYNC_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_HCS_ASYNC_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_QUERY_EXTENT_READ_CACHE_INFO
|
||||
.. autodata:: FSCTL_QUERY_REFS_VOLUME_COUNTER_INFO
|
||||
.. autodata:: FSCTL_CLEAN_VOLUME_METADATA
|
||||
.. autodata:: FSCTL_SET_INTEGRITY_INFORMATION_EX
|
||||
.. autodata:: FSCTL_SUSPEND_OVERLAY
|
||||
.. autodata:: FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY
|
||||
.. autodata:: FSCTL_FILESYSTEM_GET_STATISTICS_EX
|
||||
.. autodata:: FSCTL_QUERY_VOLUME_CONTAINER_STATE
|
||||
.. autodata:: FSCTL_SET_LAYER_ROOT
|
||||
.. autodata:: FSCTL_QUERY_DIRECT_ACCESS_EXTENTS
|
||||
.. autodata:: FSCTL_NOTIFY_STORAGE_SPACE_ALLOCATION
|
||||
.. autodata:: FSCTL_SSDI_STORAGE_REQUEST
|
||||
.. autodata:: FSCTL_QUERY_DIRECT_IMAGE_ORIGINAL_BASE
|
||||
.. autodata:: FSCTL_READ_UNPRIVILEGED_USN_JOURNAL
|
||||
.. autodata:: FSCTL_GHOST_FILE_EXTENTS
|
||||
.. autodata:: FSCTL_QUERY_GHOSTED_FILE_EXTENTS
|
||||
.. autodata:: FSCTL_UNMAP_SPACE
|
||||
.. autodata:: FSCTL_HCS_SYNC_NO_WRITE_TUNNEL_REQUEST
|
||||
.. autodata:: FSCTL_START_VIRTUALIZATION_INSTANCE
|
||||
.. autodata:: FSCTL_GET_FILTER_FILE_IDENTIFIER
|
||||
.. autodata:: FSCTL_STREAMS_QUERY_PARAMETERS
|
||||
.. autodata:: FSCTL_STREAMS_ASSOCIATE_ID
|
||||
.. autodata:: FSCTL_STREAMS_QUERY_ID
|
||||
.. autodata:: FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT
|
||||
.. autodata:: FSCTL_QUERY_VOLUME_NUMA_INFO
|
||||
.. autodata:: FSCTL_REFS_DEALLOCATE_RANGES
|
||||
.. autodata:: FSCTL_QUERY_REFS_SMR_VOLUME_INFO
|
||||
.. autodata:: FSCTL_SET_REFS_SMR_VOLUME_GC_PARAMETERS
|
||||
.. autodata:: FSCTL_SET_REFS_FILE_STRICTLY_SEQUENTIAL
|
||||
.. autodata:: FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX
|
||||
.. autodata:: FSCTL_QUERY_BAD_RANGES
|
||||
.. autodata:: FSCTL_SET_DAX_ALLOC_ALIGNMENT_HINT
|
||||
.. autodata:: FSCTL_DELETE_CORRUPTED_REFS_CONTAINER
|
||||
.. autodata:: FSCTL_SCRUB_UNDISCOVERABLE_ID
|
||||
.. autodata:: FSCTL_NOTIFY_DATA_CHANGE
|
||||
.. autodata:: FSCTL_START_VIRTUALIZATION_INSTANCE_EX
|
||||
.. autodata:: FSCTL_ENCRYPTION_KEY_CONTROL
|
||||
.. autodata:: FSCTL_VIRTUAL_STORAGE_SET_BEHAVIOR
|
||||
.. autodata:: FSCTL_SET_REPARSE_POINT_EX
|
||||
.. autodata:: FSCTL_REARRANGE_FILE
|
||||
.. autodata:: FSCTL_VIRTUAL_STORAGE_PASSTHROUGH
|
||||
.. autodata:: FSCTL_GET_RETRIEVAL_POINTER_COUNT
|
||||
.. autodata:: FSCTL_ENABLE_PER_IO_FLAGS
|
||||
.. autodata:: FSCTL_QUERY_ASYNC_DUPLICATE_EXTENTS_STATUS
|
||||
.. autodata:: FSCTL_SMB_SHARE_FLUSH_AND_PURGE
|
||||
.. autodata:: FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT
|
||||
.. autodata:: FSCTL_MANAGE_BYPASS_IO
|
||||
.. autodata:: FSCTL_REFS_DEALLOCATE_RANGES_EX
|
||||
.. autodata:: FSCTL_SET_CACHED_RUNS_STATE
|
||||
.. autodata:: FSCTL_REFS_SET_VOLUME_COMPRESSION_INFO
|
||||
.. autodata:: FSCTL_REFS_QUERY_VOLUME_COMPRESSION_INFO
|
||||
.. autodata:: FSCTL_DUPLICATE_CLUSTER
|
||||
.. autodata:: FSCTL_CREATE_LCN_WEAK_REFERENCE
|
||||
.. autodata:: FSCTL_CLEAR_LCN_WEAK_REFERENCE
|
||||
.. autodata:: FSCTL_QUERY_LCN_WEAK_REFERENCE
|
||||
.. autodata:: FSCTL_CLEAR_ALL_LCN_WEAK_REFERENCES
|
||||
.. autodata:: FSCTL_REFS_SET_VOLUME_DEDUP_INFO
|
||||
.. autodata:: FSCTL_REFS_QUERY_VOLUME_DEDUP_INFO
|
||||
.. autodata:: FSCTL_LMR_QUERY_INFO
|
||||
.. autodata:: FSCTL_REFS_CHECKPOINT_VOLUME
|
||||
.. autodata:: FSCTL_REFS_QUERY_VOLUME_TOTAL_SHARED_LCNS
|
||||
.. autodata:: FSCTL_UPGRADE_VOLUME
|
||||
.. autodata:: FSCTL_REFS_SET_VOLUME_IO_METRICS_INFO
|
||||
.. autodata:: FSCTL_REFS_QUERY_VOLUME_IO_METRICS_INFO
|
||||
.. autodata:: FSCTL_REFS_SET_ROLLBACK_PROTECTION_INFO
|
||||
.. autodata:: FSCTL_REFS_QUERY_ROLLBACK_PROTECTION_INFO
|
||||
.. autodata:: FSCTL_FILE_SOV_CHECK_RANGE
|
||||
.. autodata:: FSCTL_CASCADES_REFS_SET_FILE_REMOTE
|
||||
.. autodata:: MOUNTMGR_DEVICE_NAME
|
||||
.. autodata:: MOUNTMGR_DOS_DEVICE_NAME
|
||||
.. autodata:: MOUNTMGRCONTROLTYPE
|
||||
.. autodata:: MOUNTDEVCONTROLTYPE
|
||||
.. autodata:: IOCTL_MOUNTMGR_CREATE_POINT
|
||||
.. autodata:: IOCTL_MOUNTMGR_DELETE_POINTS
|
||||
.. autodata:: IOCTL_MOUNTMGR_QUERY_POINTS
|
||||
.. autodata:: IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY
|
||||
.. autodata:: IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER
|
||||
.. autodata:: IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS
|
||||
.. autodata:: IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED
|
||||
.. autodata:: IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED
|
||||
.. autodata:: IOCTL_MOUNTMGR_CHANGE_NOTIFY
|
||||
.. autodata:: IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE
|
||||
.. autodata:: IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES
|
||||
.. autodata:: IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION
|
||||
.. autodata:: TOKEN_SOURCE_LENGTH
|
||||
.. autodata:: SID_HASH_SIZE
|
||||
.. autodata:: TOKEN_MANDATORY_POLICY_OFF
|
||||
|
||||
+17309
-16731
File diff suppressed because it is too large
Load Diff
@@ -101,6 +101,19 @@ def test_cs_custom_define():
|
||||
assert windows.generated_def.CS_USER_32B == 0x23
|
||||
assert windows.generated_def.CS_USER_64B == 0x33
|
||||
|
||||
|
||||
def test_CTL_CODE_macro():
|
||||
"""Test that the CTL_CODE() macro, (reimplemented in python in windef.py) returns the correct values"""
|
||||
# The hardcoded values are from magnumdb (https://www.magnumdb.com)
|
||||
|
||||
assert gdef.FSCTL_REQUEST_OPLOCK_LEVEL_1 == 0x00090000
|
||||
assert gdef.FSCTL_GET_NTFS_VOLUME_DATA == 0x00090064
|
||||
assert gdef.FSCTL_REPAIR_COPIES == 0x0009C2B4
|
||||
assert gdef.FSCTL_SET_REPARSE_POINT_EX == 0x0009040C
|
||||
assert gdef.IOCTL_MOUNTMGR_CREATE_POINT == 0x006DC000
|
||||
assert gdef.IOCTL_MOUNTMGR_QUERY_POINTS == 0x006D0008
|
||||
|
||||
|
||||
# typedef struct _DnsRecordFlags
|
||||
# {
|
||||
# DWORD Section : 2;
|
||||
@@ -143,4 +156,4 @@ def test_psid_from_to_string():
|
||||
initial_str = "S-1-5-12345"
|
||||
sid = gdef.PSID.from_string(initial_str)
|
||||
assert str(sid) == initial_str
|
||||
assert gdef.PSID.from_string(str(sid)) == sid
|
||||
assert gdef.PSID.from_string(str(sid)) == sid
|
||||
@@ -1181,6 +1181,7 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FILE_ADD_FILE',
|
||||
'FILE_ADD_SUBDIRECTORY',
|
||||
'FILE_ALL_ACCESS',
|
||||
'FILE_ANY_ACCESS',
|
||||
'FILE_APPEND_DATA',
|
||||
'FILE_ATTRIBUTE_ARCHIVE',
|
||||
'FILE_ATTRIBUTE_COMPRESSED',
|
||||
@@ -1265,6 +1266,12 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FILE_DEVICE_WAVE_IN',
|
||||
'FILE_DEVICE_WAVE_OUT',
|
||||
'FILE_DIRECTORY_FILE',
|
||||
'FILE_DISPOSITION_DELETE',
|
||||
'FILE_DISPOSITION_DO_NOT_DELETE',
|
||||
'FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK',
|
||||
'FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE',
|
||||
'FILE_DISPOSITION_ON_CLOSE',
|
||||
'FILE_DISPOSITION_POSIX_SEMANTICS',
|
||||
'FILE_DOES_NOT_EXIST',
|
||||
'FILE_EXECUTE',
|
||||
'FILE_EXISTS',
|
||||
@@ -1324,6 +1331,7 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FILE_OVERWRITTEN',
|
||||
'FILE_PERSISTENT_ACLS',
|
||||
'FILE_RANDOM_ACCESS',
|
||||
'FILE_READ_ACCESS',
|
||||
'FILE_READ_ATTRIBUTES',
|
||||
'FILE_READ_DATA',
|
||||
'FILE_READ_EA',
|
||||
@@ -1334,6 +1342,7 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FILE_SHARE_DELETE',
|
||||
'FILE_SHARE_READ',
|
||||
'FILE_SHARE_WRITE',
|
||||
'FILE_SPECIAL_ACCESS',
|
||||
'FILE_SUPERSEDE',
|
||||
'FILE_SUPERSEDED',
|
||||
'FILE_SUPPORTS_ENCRYPTION',
|
||||
@@ -1359,6 +1368,7 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FILE_VER_GET_PREFETCHED',
|
||||
'FILE_VOLUME_IS_COMPRESSED',
|
||||
'FILE_VOLUME_QUOTAS',
|
||||
'FILE_WRITE_ACCESS',
|
||||
'FILE_WRITE_ATTRIBUTES',
|
||||
'FILE_WRITE_DATA',
|
||||
'FILE_WRITE_EA',
|
||||
@@ -1388,6 +1398,233 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FO_DELETE',
|
||||
'FO_MOVE',
|
||||
'FO_RENAME',
|
||||
'FSCTL_ADD_OVERLAY',
|
||||
'FSCTL_ADVANCE_FILE_ID',
|
||||
'FSCTL_ALLOW_EXTENDED_DASD_IO',
|
||||
'FSCTL_CASCADES_REFS_SET_FILE_REMOTE',
|
||||
'FSCTL_CLEAN_VOLUME_METADATA',
|
||||
'FSCTL_CLEAR_ALL_LCN_WEAK_REFERENCES',
|
||||
'FSCTL_CLEAR_LCN_WEAK_REFERENCE',
|
||||
'FSCTL_CORRUPTION_HANDLING',
|
||||
'FSCTL_CREATE_LCN_WEAK_REFERENCE',
|
||||
'FSCTL_CREATE_OR_GET_OBJECT_ID',
|
||||
'FSCTL_CREATE_USN_JOURNAL',
|
||||
'FSCTL_CSC_INTERNAL',
|
||||
'FSCTL_CSV_CONTROL',
|
||||
'FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT',
|
||||
'FSCTL_CSV_GET_VOLUME_PATH_NAME',
|
||||
'FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME',
|
||||
'FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST',
|
||||
'FSCTL_CSV_INTERNAL',
|
||||
'FSCTL_CSV_MGMT_LOCK',
|
||||
'FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS',
|
||||
'FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO',
|
||||
'FSCTL_CSV_SYNC_TUNNEL_REQUEST',
|
||||
'FSCTL_CSV_TUNNEL_REQUEST',
|
||||
'FSCTL_DELETE_CORRUPTED_REFS_CONTAINER',
|
||||
'FSCTL_DELETE_EXTERNAL_BACKING',
|
||||
'FSCTL_DELETE_OBJECT_ID',
|
||||
'FSCTL_DELETE_REPARSE_POINT',
|
||||
'FSCTL_DELETE_USN_JOURNAL',
|
||||
'FSCTL_DFSR_SET_GHOST_HANDLE_STATE',
|
||||
'FSCTL_DISABLE_LOCAL_BUFFERING',
|
||||
'FSCTL_DISMOUNT_VOLUME',
|
||||
'FSCTL_DUPLICATE_CLUSTER',
|
||||
'FSCTL_DUPLICATE_EXTENTS_TO_FILE',
|
||||
'FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX',
|
||||
'FSCTL_ENABLE_PER_IO_FLAGS',
|
||||
'FSCTL_ENABLE_UPGRADE',
|
||||
'FSCTL_ENCRYPTION_FSCTL_IO',
|
||||
'FSCTL_ENCRYPTION_KEY_CONTROL',
|
||||
'FSCTL_ENUM_EXTERNAL_BACKING',
|
||||
'FSCTL_ENUM_OVERLAY',
|
||||
'FSCTL_ENUM_USN_DATA',
|
||||
'FSCTL_EXTEND_VOLUME',
|
||||
'FSCTL_FILESYSTEM_GET_STATISTICS',
|
||||
'FSCTL_FILESYSTEM_GET_STATISTICS_EX',
|
||||
'FSCTL_FILE_LEVEL_TRIM',
|
||||
'FSCTL_FILE_PREFETCH',
|
||||
'FSCTL_FILE_SOV_CHECK_RANGE',
|
||||
'FSCTL_FILE_TYPE_NOTIFICATION',
|
||||
'FSCTL_FIND_FILES_BY_SID',
|
||||
'FSCTL_GET_BOOT_AREA_INFO',
|
||||
'FSCTL_GET_COMPRESSION',
|
||||
'FSCTL_GET_EXTERNAL_BACKING',
|
||||
'FSCTL_GET_FILTER_FILE_IDENTIFIER',
|
||||
'FSCTL_GET_INTEGRITY_INFORMATION',
|
||||
'FSCTL_GET_NTFS_FILE_RECORD',
|
||||
'FSCTL_GET_NTFS_VOLUME_DATA',
|
||||
'FSCTL_GET_OBJECT_ID',
|
||||
'FSCTL_GET_REFS_VOLUME_DATA',
|
||||
'FSCTL_GET_REPAIR',
|
||||
'FSCTL_GET_REPARSE_POINT',
|
||||
'FSCTL_GET_RETRIEVAL_POINTERS',
|
||||
'FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT',
|
||||
'FSCTL_GET_RETRIEVAL_POINTER_BASE',
|
||||
'FSCTL_GET_RETRIEVAL_POINTER_COUNT',
|
||||
'FSCTL_GET_VOLUME_BITMAP',
|
||||
'FSCTL_GET_WOF_VERSION',
|
||||
'FSCTL_GHOST_FILE_EXTENTS',
|
||||
'FSCTL_HCS_ASYNC_TUNNEL_REQUEST',
|
||||
'FSCTL_HCS_SYNC_NO_WRITE_TUNNEL_REQUEST',
|
||||
'FSCTL_HCS_SYNC_TUNNEL_REQUEST',
|
||||
'FSCTL_INITIATE_FILE_METADATA_OPTIMIZATION',
|
||||
'FSCTL_INITIATE_REPAIR',
|
||||
'FSCTL_INVALIDATE_VOLUMES',
|
||||
'FSCTL_IS_CSV_FILE',
|
||||
'FSCTL_IS_FILE_ON_CSV_VOLUME',
|
||||
'FSCTL_IS_PATHNAME_VALID',
|
||||
'FSCTL_IS_VOLUME_DIRTY',
|
||||
'FSCTL_IS_VOLUME_MOUNTED',
|
||||
'FSCTL_IS_VOLUME_OWNED_BYCSVFS',
|
||||
'FSCTL_LMR_QUERY_INFO',
|
||||
'FSCTL_LOCK_VOLUME',
|
||||
'FSCTL_LOOKUP_STREAM_FROM_CLUSTER',
|
||||
'FSCTL_MAKE_MEDIA_COMPATIBLE',
|
||||
'FSCTL_MANAGE_BYPASS_IO',
|
||||
'FSCTL_MARK_AS_SYSTEM_HIVE',
|
||||
'FSCTL_MARK_HANDLE',
|
||||
'FSCTL_MARK_VOLUME_DIRTY',
|
||||
'FSCTL_MOVE_FILE',
|
||||
'FSCTL_NOTIFY_DATA_CHANGE',
|
||||
'FSCTL_NOTIFY_STORAGE_SPACE_ALLOCATION',
|
||||
'FSCTL_OFFLOAD_READ',
|
||||
'FSCTL_OFFLOAD_WRITE',
|
||||
'FSCTL_OPBATCH_ACK_CLOSE_PENDING',
|
||||
'FSCTL_OPLOCK_BREAK_ACKNOWLEDGE',
|
||||
'FSCTL_OPLOCK_BREAK_ACK_NO_2',
|
||||
'FSCTL_OPLOCK_BREAK_NOTIFY',
|
||||
'FSCTL_QUERY_ALLOCATED_RANGES',
|
||||
'FSCTL_QUERY_ASYNC_DUPLICATE_EXTENTS_STATUS',
|
||||
'FSCTL_QUERY_BAD_RANGES',
|
||||
'FSCTL_QUERY_DEPENDENT_VOLUME',
|
||||
'FSCTL_QUERY_DIRECT_ACCESS_EXTENTS',
|
||||
'FSCTL_QUERY_DIRECT_IMAGE_ORIGINAL_BASE',
|
||||
'FSCTL_QUERY_EXTENT_READ_CACHE_INFO',
|
||||
'FSCTL_QUERY_FAT_BPB',
|
||||
'FSCTL_QUERY_FILE_LAYOUT',
|
||||
'FSCTL_QUERY_FILE_METADATA_OPTIMIZATION',
|
||||
'FSCTL_QUERY_FILE_REGIONS',
|
||||
'FSCTL_QUERY_FILE_SYSTEM_RECOGNITION',
|
||||
'FSCTL_QUERY_GHOSTED_FILE_EXTENTS',
|
||||
'FSCTL_QUERY_LCN_WEAK_REFERENCE',
|
||||
'FSCTL_QUERY_ON_DISK_VOLUME_INFO',
|
||||
'FSCTL_QUERY_PAGEFILE_ENCRYPTION',
|
||||
'FSCTL_QUERY_PERSISTENT_VOLUME_STATE',
|
||||
'FSCTL_QUERY_REFS_SMR_VOLUME_INFO',
|
||||
'FSCTL_QUERY_REFS_VOLUME_COUNTER_INFO',
|
||||
'FSCTL_QUERY_REGION_INFO',
|
||||
'FSCTL_QUERY_RETRIEVAL_POINTERS',
|
||||
'FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT',
|
||||
'FSCTL_QUERY_SPARING_INFO',
|
||||
'FSCTL_QUERY_STORAGE_CLASSES',
|
||||
'FSCTL_QUERY_USN_JOURNAL',
|
||||
'FSCTL_QUERY_VOLUME_CONTAINER_STATE',
|
||||
'FSCTL_QUERY_VOLUME_NUMA_INFO',
|
||||
'FSCTL_READ_FILE_USN_DATA',
|
||||
'FSCTL_READ_FROM_PLEX',
|
||||
'FSCTL_READ_RAW_ENCRYPTED',
|
||||
'FSCTL_READ_UNPRIVILEGED_USN_JOURNAL',
|
||||
'FSCTL_READ_USN_JOURNAL',
|
||||
'FSCTL_REARRANGE_FILE',
|
||||
'FSCTL_RECALL_FILE',
|
||||
'FSCTL_REFS_CHECKPOINT_VOLUME',
|
||||
'FSCTL_REFS_DEALLOCATE_RANGES',
|
||||
'FSCTL_REFS_DEALLOCATE_RANGES_EX',
|
||||
'FSCTL_REFS_QUERY_ROLLBACK_PROTECTION_INFO',
|
||||
'FSCTL_REFS_QUERY_VOLUME_COMPRESSION_INFO',
|
||||
'FSCTL_REFS_QUERY_VOLUME_DEDUP_INFO',
|
||||
'FSCTL_REFS_QUERY_VOLUME_IO_METRICS_INFO',
|
||||
'FSCTL_REFS_QUERY_VOLUME_TOTAL_SHARED_LCNS',
|
||||
'FSCTL_REFS_SET_ROLLBACK_PROTECTION_INFO',
|
||||
'FSCTL_REFS_SET_VOLUME_COMPRESSION_INFO',
|
||||
'FSCTL_REFS_SET_VOLUME_DEDUP_INFO',
|
||||
'FSCTL_REFS_SET_VOLUME_IO_METRICS_INFO',
|
||||
'FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT',
|
||||
'FSCTL_REMOVE_OVERLAY',
|
||||
'FSCTL_REPAIR_COPIES',
|
||||
'FSCTL_REQUEST_BATCH_OPLOCK',
|
||||
'FSCTL_REQUEST_FILTER_OPLOCK',
|
||||
'FSCTL_REQUEST_OPLOCK',
|
||||
'FSCTL_REQUEST_OPLOCK_LEVEL_1',
|
||||
'FSCTL_REQUEST_OPLOCK_LEVEL_2',
|
||||
'FSCTL_RESET_VOLUME_ALLOCATION_HINTS',
|
||||
'FSCTL_RKF_INTERNAL',
|
||||
'FSCTL_SCRUB_DATA',
|
||||
'FSCTL_SCRUB_UNDISCOVERABLE_ID',
|
||||
'FSCTL_SD_GLOBAL_CHANGE',
|
||||
'FSCTL_SECURITY_ID_CHECK',
|
||||
'FSCTL_SET_BOOTLOADER_ACCESSED',
|
||||
'FSCTL_SET_CACHED_RUNS_STATE',
|
||||
'FSCTL_SET_COMPRESSION',
|
||||
'FSCTL_SET_DAX_ALLOC_ALIGNMENT_HINT',
|
||||
'FSCTL_SET_DEFECT_MANAGEMENT',
|
||||
'FSCTL_SET_ENCRYPTION',
|
||||
'FSCTL_SET_EXTERNAL_BACKING',
|
||||
'FSCTL_SET_INTEGRITY_INFORMATION',
|
||||
'FSCTL_SET_INTEGRITY_INFORMATION_EX',
|
||||
'FSCTL_SET_LAYER_ROOT',
|
||||
'FSCTL_SET_OBJECT_ID',
|
||||
'FSCTL_SET_OBJECT_ID_EXTENDED',
|
||||
'FSCTL_SET_PERSISTENT_VOLUME_STATE',
|
||||
'FSCTL_SET_PURGE_FAILURE_MODE',
|
||||
'FSCTL_SET_REFS_FILE_STRICTLY_SEQUENTIAL',
|
||||
'FSCTL_SET_REFS_SMR_VOLUME_GC_PARAMETERS',
|
||||
'FSCTL_SET_REPAIR',
|
||||
'FSCTL_SET_REPARSE_POINT',
|
||||
'FSCTL_SET_REPARSE_POINT_EX',
|
||||
'FSCTL_SET_SHORT_NAME_BEHAVIOR',
|
||||
'FSCTL_SET_SPARSE',
|
||||
'FSCTL_SET_VOLUME_COMPRESSION_STATE',
|
||||
'FSCTL_SET_ZERO_DATA',
|
||||
'FSCTL_SET_ZERO_ON_DEALLOCATION',
|
||||
'FSCTL_SHRINK_VOLUME',
|
||||
'FSCTL_SHUFFLE_FILE',
|
||||
'FSCTL_SIS_COPYFILE',
|
||||
'FSCTL_SIS_LINK_FILES',
|
||||
'FSCTL_SMB_SHARE_FLUSH_AND_PURGE',
|
||||
'FSCTL_SPARSE_OVERALLOCATE',
|
||||
'FSCTL_SSDI_STORAGE_REQUEST',
|
||||
'FSCTL_START_VIRTUALIZATION_INSTANCE',
|
||||
'FSCTL_START_VIRTUALIZATION_INSTANCE_EX',
|
||||
'FSCTL_STORAGE_QOS_CONTROL',
|
||||
'FSCTL_STREAMS_ASSOCIATE_ID',
|
||||
'FSCTL_STREAMS_QUERY_ID',
|
||||
'FSCTL_STREAMS_QUERY_PARAMETERS',
|
||||
'FSCTL_SUSPEND_OVERLAY',
|
||||
'FSCTL_SVHDX_ASYNC_TUNNEL_REQUEST',
|
||||
'FSCTL_SVHDX_SET_INITIATOR_INFORMATION',
|
||||
'FSCTL_SVHDX_SYNC_TUNNEL_REQUEST',
|
||||
'FSCTL_TXFS_CREATE_MINIVERSION',
|
||||
'FSCTL_TXFS_CREATE_SECONDARY_RM',
|
||||
'FSCTL_TXFS_GET_METADATA_INFO',
|
||||
'FSCTL_TXFS_GET_TRANSACTED_VERSION',
|
||||
'FSCTL_TXFS_LIST_TRANSACTIONS',
|
||||
'FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES',
|
||||
'FSCTL_TXFS_MODIFY_RM',
|
||||
'FSCTL_TXFS_QUERY_RM_INFORMATION',
|
||||
'FSCTL_TXFS_READ_BACKUP_INFORMATION',
|
||||
'FSCTL_TXFS_READ_BACKUP_INFORMATION2',
|
||||
'FSCTL_TXFS_ROLLFORWARD_REDO',
|
||||
'FSCTL_TXFS_ROLLFORWARD_UNDO',
|
||||
'FSCTL_TXFS_SAVEPOINT_INFORMATION',
|
||||
'FSCTL_TXFS_SHUTDOWN_RM',
|
||||
'FSCTL_TXFS_START_RM',
|
||||
'FSCTL_TXFS_TRANSACTION_ACTIVE',
|
||||
'FSCTL_TXFS_WRITE_BACKUP_INFORMATION',
|
||||
'FSCTL_TXFS_WRITE_BACKUP_INFORMATION2',
|
||||
'FSCTL_UNLOCK_VOLUME',
|
||||
'FSCTL_UNMAP_SPACE',
|
||||
'FSCTL_UPDATE_OVERLAY',
|
||||
'FSCTL_UPGRADE_VOLUME',
|
||||
'FSCTL_USN_TRACK_MODIFIED_RANGES',
|
||||
'FSCTL_VIRTUAL_STORAGE_PASSTHROUGH',
|
||||
'FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY',
|
||||
'FSCTL_VIRTUAL_STORAGE_SET_BEHAVIOR',
|
||||
'FSCTL_WAIT_FOR_REPAIR',
|
||||
'FSCTL_WRITE_RAW_ENCRYPTED',
|
||||
'FSCTL_WRITE_USN_CLOSE_RECORD',
|
||||
'FSCTL_WRITE_USN_REASON',
|
||||
'GENERIC_ALL',
|
||||
'GENERIC_EXECUTE',
|
||||
'GENERIC_READ',
|
||||
@@ -1555,6 +1792,18 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'INVALID_HANDLE_VALUE',
|
||||
'INVALID_SOCKET32',
|
||||
'INVALID_SOCKET64',
|
||||
'IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS',
|
||||
'IOCTL_MOUNTMGR_CHANGE_NOTIFY',
|
||||
'IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES',
|
||||
'IOCTL_MOUNTMGR_CREATE_POINT',
|
||||
'IOCTL_MOUNTMGR_DELETE_POINTS',
|
||||
'IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY',
|
||||
'IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE',
|
||||
'IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER',
|
||||
'IOCTL_MOUNTMGR_QUERY_POINTS',
|
||||
'IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION',
|
||||
'IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED',
|
||||
'IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED',
|
||||
'IO_COMPLETION_ALL_ACCESS',
|
||||
'IO_COMPLETION_MODIFY_STATE',
|
||||
'IO_COMPLETION_QUERY_STATE',
|
||||
@@ -1659,8 +1908,18 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'MEM_ROTATE',
|
||||
'MEM_TOP_DOWN',
|
||||
'MEM_WRITE_WATCH',
|
||||
'METHOD_BUFFERED',
|
||||
'METHOD_DIRECT_FROM_HARDWARE',
|
||||
'METHOD_DIRECT_TO_HARDWARE',
|
||||
'METHOD_IN_DIRECT',
|
||||
'METHOD_NEITHER',
|
||||
'METHOD_OUT_DIRECT',
|
||||
'MODE_BIT',
|
||||
'MODE_MASK',
|
||||
'MOUNTDEVCONTROLTYPE',
|
||||
'MOUNTMGRCONTROLTYPE',
|
||||
'MOUNTMGR_DEVICE_NAME',
|
||||
'MOUNTMGR_DOS_DEVICE_NAME',
|
||||
'MS_DEF_PROV',
|
||||
'MS_DEF_PROV_A',
|
||||
'MS_DEF_PROV_W',
|
||||
@@ -12169,6 +12428,9 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'IMAGE_FILE_HEADER',
|
||||
'IMAGE_IMPORT_BY_NAME',
|
||||
'IMAGE_IMPORT_DESCRIPTOR',
|
||||
'IMAGE_LOAD_CONFIG_CODE_INTEGRITY',
|
||||
'IMAGE_LOAD_CONFIG_DIRECTORY32',
|
||||
'IMAGE_LOAD_CONFIG_DIRECTORY64',
|
||||
'IMAGE_NT_HEADERS32',
|
||||
'IMAGE_NT_HEADERS64',
|
||||
'IMAGE_OPTIONAL_HEADER32',
|
||||
@@ -12269,6 +12531,7 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'LPOSVERSIONINFOW',
|
||||
'LPOUTPUT_DEBUG_STRING_INFO',
|
||||
'LPOVERLAPPED',
|
||||
'LPOVERLAPPED_ENTRY',
|
||||
'LPPARAMDESC',
|
||||
'LPPARAMDESCEX',
|
||||
'LPPROCESSENTRY32',
|
||||
@@ -12386,6 +12649,7 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'OSVERSIONINFOW',
|
||||
'OUTPUT_DEBUG_STRING_INFO',
|
||||
'OVERLAPPED',
|
||||
'OVERLAPPED_ENTRY',
|
||||
'PACCESS_ALLOWED_ACE',
|
||||
'PACCESS_ALLOWED_CALLBACK_ACE',
|
||||
'PACCESS_ALLOWED_CALLBACK_OBJECT_ACE',
|
||||
@@ -12701,6 +12965,9 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'PIMAGE_FILE_HEADER',
|
||||
'PIMAGE_IMPORT_BY_NAME',
|
||||
'PIMAGE_IMPORT_DESCRIPTOR',
|
||||
'PIMAGE_LOAD_CONFIG_CODE_INTEGRITY',
|
||||
'PIMAGE_LOAD_CONFIG_DIRECTORY32',
|
||||
'PIMAGE_LOAD_CONFIG_DIRECTORY64',
|
||||
'PIMAGE_NT_HEADERS32',
|
||||
'PIMAGE_NT_HEADERS64',
|
||||
'PIMAGE_OPTIONAL_HEADER32',
|
||||
@@ -13433,6 +13700,9 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'_IMAGE_FILE_HEADER',
|
||||
'_IMAGE_IMPORT_BY_NAME',
|
||||
'_IMAGE_IMPORT_DESCRIPTOR',
|
||||
'_IMAGE_LOAD_CONFIG_CODE_INTEGRITY',
|
||||
'_IMAGE_LOAD_CONFIG_DIRECTORY32',
|
||||
'_IMAGE_LOAD_CONFIG_DIRECTORY64',
|
||||
'_IMAGE_NT_HEADERS',
|
||||
'_IMAGE_NT_HEADERS64',
|
||||
'_IMAGE_OPTIONAL_HEADER',
|
||||
@@ -13508,6 +13778,7 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'_OSVERSIONINFOW',
|
||||
'_OUTPUT_DEBUG_STRING_INFO',
|
||||
'_OVERLAPPED',
|
||||
'_OVERLAPPED_ENTRY',
|
||||
'_PEB',
|
||||
'_PEB_LDR_DATA',
|
||||
'_POLICY_ACCOUNT_DOMAIN_INFO',
|
||||
@@ -14024,6 +14295,9 @@ functions = set(['AccessCheck',
|
||||
'CM_Locate_DevNodeW',
|
||||
'CM_Locate_DevNode_ExA',
|
||||
'CM_Locate_DevNode_ExW',
|
||||
'CancelIo',
|
||||
'CancelIoEx',
|
||||
'CancelSynchronousIo',
|
||||
'CertAddCertificateContextToStore',
|
||||
'CertCloseStore',
|
||||
'CertCompareCertificate',
|
||||
@@ -14087,6 +14361,7 @@ functions = set(['AccessCheck',
|
||||
'CreateFileTransactedA',
|
||||
'CreateFileTransactedW',
|
||||
'CreateFileW',
|
||||
'CreateIoCompletionPort',
|
||||
'CreateNamedPipeA',
|
||||
'CreateNamedPipeW',
|
||||
'CreatePipe',
|
||||
@@ -14308,6 +14583,7 @@ functions = set(['AccessCheck',
|
||||
'GetNamedSecurityInfoA',
|
||||
'GetNamedSecurityInfoW',
|
||||
'GetNumberOfEventLogRecords',
|
||||
'GetOverlappedResult',
|
||||
'GetParent',
|
||||
'GetPerAdapterInfo',
|
||||
'GetPriorityClass',
|
||||
@@ -14320,6 +14596,8 @@ functions = set(['AccessCheck',
|
||||
'GetProcessMitigationPolicy',
|
||||
'GetProcessTimes',
|
||||
'GetProductInfo',
|
||||
'GetQueuedCompletionStatus',
|
||||
'GetQueuedCompletionStatusEx',
|
||||
'GetSecurityDescriptorControl',
|
||||
'GetSecurityDescriptorDacl',
|
||||
'GetSecurityDescriptorGroup',
|
||||
@@ -14537,6 +14815,7 @@ functions = set(['AccessCheck',
|
||||
'PFXImportCertStore',
|
||||
'PeekNamedPipe',
|
||||
'PfnCryptGetSignerCertificate',
|
||||
'PostQueuedCompletionStatus',
|
||||
'Process32First',
|
||||
'Process32FirstW',
|
||||
'Process32Next',
|
||||
|
||||
@@ -5,6 +5,18 @@ bits = platform.architecture()[0]
|
||||
bitness = int(bits[:2])
|
||||
|
||||
NATIVE_WORD_MAX_VALUE = 0xffffffff if bitness == 32 else 0xffffffffffffffff
|
||||
|
||||
# python implementation of CTL_CODE (macro to compute IOCTL code from param.
|
||||
# The python implem simplify the code parsing define (macro) by not handling macro functions
|
||||
|
||||
# Original MACRO:
|
||||
#
|
||||
# #define CTL_CODE( DeviceType, Function, Method, Access ) ( \
|
||||
# ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
|
||||
# )
|
||||
|
||||
def CTL_CODE(DeviceType, Function, Method, Access):
|
||||
return (((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method))
|
||||
from .ntstatus import *
|
||||
from .winerror import *
|
||||
BG_JOB_ENUM_ALL_USERS = make_flag("BG_JOB_ENUM_ALL_USERS", 0x0001)
|
||||
@@ -2449,6 +2461,265 @@ POLICY_SERVER_ADMIN = make_flag("POLICY_SERVER_ADMIN", 0x00000400)
|
||||
POLICY_LOOKUP_NAMES = make_flag("POLICY_LOOKUP_NAMES", 0x00000800)
|
||||
POLICY_NOTIFICATION = make_flag("POLICY_NOTIFICATION", 0x00001000)
|
||||
POLICY_ALL_ACCESS = make_flag("POLICY_ALL_ACCESS", ( STANDARD_RIGHTS_REQUIRED | POLICY_VIEW_LOCAL_INFORMATION | POLICY_VIEW_AUDIT_INFORMATION | POLICY_GET_PRIVATE_INFORMATION | POLICY_TRUST_ADMIN | POLICY_CREATE_ACCOUNT | POLICY_CREATE_SECRET | POLICY_CREATE_PRIVILEGE | POLICY_SET_DEFAULT_QUOTA_LIMITS | POLICY_SET_AUDIT_REQUIREMENTS | POLICY_AUDIT_LOG_ADMIN | POLICY_SERVER_ADMIN | POLICY_LOOKUP_NAMES ))
|
||||
METHOD_BUFFERED = make_flag("METHOD_BUFFERED", 0)
|
||||
METHOD_IN_DIRECT = make_flag("METHOD_IN_DIRECT", 1)
|
||||
METHOD_OUT_DIRECT = make_flag("METHOD_OUT_DIRECT", 2)
|
||||
METHOD_NEITHER = make_flag("METHOD_NEITHER", 3)
|
||||
METHOD_DIRECT_TO_HARDWARE = make_flag("METHOD_DIRECT_TO_HARDWARE", METHOD_IN_DIRECT)
|
||||
METHOD_DIRECT_FROM_HARDWARE = make_flag("METHOD_DIRECT_FROM_HARDWARE", METHOD_OUT_DIRECT)
|
||||
FILE_ANY_ACCESS = make_flag("FILE_ANY_ACCESS", 0)
|
||||
FILE_SPECIAL_ACCESS = make_flag("FILE_SPECIAL_ACCESS", ( FILE_ANY_ACCESS ))
|
||||
FILE_READ_ACCESS = make_flag("FILE_READ_ACCESS", ( 0x0001 ))
|
||||
FILE_WRITE_ACCESS = make_flag("FILE_WRITE_ACCESS", ( 0x0002 ))
|
||||
FILE_DISPOSITION_DO_NOT_DELETE = make_flag("FILE_DISPOSITION_DO_NOT_DELETE", 0x00000000)
|
||||
FILE_DISPOSITION_DELETE = make_flag("FILE_DISPOSITION_DELETE", 0x00000001)
|
||||
FILE_DISPOSITION_POSIX_SEMANTICS = make_flag("FILE_DISPOSITION_POSIX_SEMANTICS", 0x00000002)
|
||||
FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK = make_flag("FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK", 0x00000004)
|
||||
FILE_DISPOSITION_ON_CLOSE = make_flag("FILE_DISPOSITION_ON_CLOSE", 0x00000008)
|
||||
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE = make_flag("FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE", 0x00000010)
|
||||
FSCTL_REQUEST_OPLOCK_LEVEL_1 = make_flag("FSCTL_REQUEST_OPLOCK_LEVEL_1", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 0 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REQUEST_OPLOCK_LEVEL_2 = make_flag("FSCTL_REQUEST_OPLOCK_LEVEL_2", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 1 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REQUEST_BATCH_OPLOCK = make_flag("FSCTL_REQUEST_BATCH_OPLOCK", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 2 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE = make_flag("FSCTL_OPLOCK_BREAK_ACKNOWLEDGE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 3 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_OPBATCH_ACK_CLOSE_PENDING = make_flag("FSCTL_OPBATCH_ACK_CLOSE_PENDING", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 4 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_OPLOCK_BREAK_NOTIFY = make_flag("FSCTL_OPLOCK_BREAK_NOTIFY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 5 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_LOCK_VOLUME = make_flag("FSCTL_LOCK_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 6 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_UNLOCK_VOLUME = make_flag("FSCTL_UNLOCK_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 7 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DISMOUNT_VOLUME = make_flag("FSCTL_DISMOUNT_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 8 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_IS_VOLUME_MOUNTED = make_flag("FSCTL_IS_VOLUME_MOUNTED", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 10 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_IS_PATHNAME_VALID = make_flag("FSCTL_IS_PATHNAME_VALID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 11 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_MARK_VOLUME_DIRTY = make_flag("FSCTL_MARK_VOLUME_DIRTY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 12 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_RETRIEVAL_POINTERS = make_flag("FSCTL_QUERY_RETRIEVAL_POINTERS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 14 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_COMPRESSION = make_flag("FSCTL_GET_COMPRESSION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 15 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_COMPRESSION = make_flag("FSCTL_SET_COMPRESSION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 16 , METHOD_BUFFERED , FILE_READ_DATA | FILE_WRITE_DATA ))
|
||||
FSCTL_SET_BOOTLOADER_ACCESSED = make_flag("FSCTL_SET_BOOTLOADER_ACCESSED", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 19 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_MARK_AS_SYSTEM_HIVE = make_flag("FSCTL_MARK_AS_SYSTEM_HIVE", FSCTL_SET_BOOTLOADER_ACCESSED)
|
||||
FSCTL_OPLOCK_BREAK_ACK_NO_2 = make_flag("FSCTL_OPLOCK_BREAK_ACK_NO_2", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 20 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_INVALIDATE_VOLUMES = make_flag("FSCTL_INVALIDATE_VOLUMES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 21 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_FAT_BPB = make_flag("FSCTL_QUERY_FAT_BPB", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 22 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REQUEST_FILTER_OPLOCK = make_flag("FSCTL_REQUEST_FILTER_OPLOCK", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 23 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_FILESYSTEM_GET_STATISTICS = make_flag("FSCTL_FILESYSTEM_GET_STATISTICS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 24 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_NTFS_VOLUME_DATA = make_flag("FSCTL_GET_NTFS_VOLUME_DATA", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 25 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_NTFS_FILE_RECORD = make_flag("FSCTL_GET_NTFS_FILE_RECORD", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 26 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_VOLUME_BITMAP = make_flag("FSCTL_GET_VOLUME_BITMAP", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 27 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_RETRIEVAL_POINTERS = make_flag("FSCTL_GET_RETRIEVAL_POINTERS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 28 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_MOVE_FILE = make_flag("FSCTL_MOVE_FILE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 29 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_IS_VOLUME_DIRTY = make_flag("FSCTL_IS_VOLUME_DIRTY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 30 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_ALLOW_EXTENDED_DASD_IO = make_flag("FSCTL_ALLOW_EXTENDED_DASD_IO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 32 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_FIND_FILES_BY_SID = make_flag("FSCTL_FIND_FILES_BY_SID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 35 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_OBJECT_ID = make_flag("FSCTL_SET_OBJECT_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 38 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_GET_OBJECT_ID = make_flag("FSCTL_GET_OBJECT_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 39 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DELETE_OBJECT_ID = make_flag("FSCTL_DELETE_OBJECT_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 40 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_SET_REPARSE_POINT = make_flag("FSCTL_SET_REPARSE_POINT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 41 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_GET_REPARSE_POINT = make_flag("FSCTL_GET_REPARSE_POINT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 42 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DELETE_REPARSE_POINT = make_flag("FSCTL_DELETE_REPARSE_POINT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 43 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_ENUM_USN_DATA = make_flag("FSCTL_ENUM_USN_DATA", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 44 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_SECURITY_ID_CHECK = make_flag("FSCTL_SECURITY_ID_CHECK", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 45 , METHOD_NEITHER , FILE_READ_DATA ))
|
||||
FSCTL_READ_USN_JOURNAL = make_flag("FSCTL_READ_USN_JOURNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 46 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_OBJECT_ID_EXTENDED = make_flag("FSCTL_SET_OBJECT_ID_EXTENDED", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 47 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_CREATE_OR_GET_OBJECT_ID = make_flag("FSCTL_CREATE_OR_GET_OBJECT_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 48 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_SPARSE = make_flag("FSCTL_SET_SPARSE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 49 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_SET_ZERO_DATA = make_flag("FSCTL_SET_ZERO_DATA", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 50 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_QUERY_ALLOCATED_RANGES = make_flag("FSCTL_QUERY_ALLOCATED_RANGES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 51 , METHOD_NEITHER , FILE_READ_DATA ))
|
||||
FSCTL_ENABLE_UPGRADE = make_flag("FSCTL_ENABLE_UPGRADE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 52 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_SET_ENCRYPTION = make_flag("FSCTL_SET_ENCRYPTION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 53 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_ENCRYPTION_FSCTL_IO = make_flag("FSCTL_ENCRYPTION_FSCTL_IO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 54 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_WRITE_RAW_ENCRYPTED = make_flag("FSCTL_WRITE_RAW_ENCRYPTED", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 55 , METHOD_NEITHER , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_READ_RAW_ENCRYPTED = make_flag("FSCTL_READ_RAW_ENCRYPTED", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 56 , METHOD_NEITHER , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_CREATE_USN_JOURNAL = make_flag("FSCTL_CREATE_USN_JOURNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 57 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_READ_FILE_USN_DATA = make_flag("FSCTL_READ_FILE_USN_DATA", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 58 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_WRITE_USN_CLOSE_RECORD = make_flag("FSCTL_WRITE_USN_CLOSE_RECORD", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 59 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_EXTEND_VOLUME = make_flag("FSCTL_EXTEND_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 60 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_USN_JOURNAL = make_flag("FSCTL_QUERY_USN_JOURNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 61 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DELETE_USN_JOURNAL = make_flag("FSCTL_DELETE_USN_JOURNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 62 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_MARK_HANDLE = make_flag("FSCTL_MARK_HANDLE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 63 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SIS_COPYFILE = make_flag("FSCTL_SIS_COPYFILE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 64 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SIS_LINK_FILES = make_flag("FSCTL_SIS_LINK_FILES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 65 , METHOD_BUFFERED , FILE_READ_DATA | FILE_WRITE_DATA ))
|
||||
FSCTL_RECALL_FILE = make_flag("FSCTL_RECALL_FILE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 69 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_READ_FROM_PLEX = make_flag("FSCTL_READ_FROM_PLEX", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 71 , METHOD_OUT_DIRECT , FILE_READ_DATA ))
|
||||
FSCTL_FILE_PREFETCH = make_flag("FSCTL_FILE_PREFETCH", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 72 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_MAKE_MEDIA_COMPATIBLE = make_flag("FSCTL_MAKE_MEDIA_COMPATIBLE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 76 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_SET_DEFECT_MANAGEMENT = make_flag("FSCTL_SET_DEFECT_MANAGEMENT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 77 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_QUERY_SPARING_INFO = make_flag("FSCTL_QUERY_SPARING_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 78 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_ON_DISK_VOLUME_INFO = make_flag("FSCTL_QUERY_ON_DISK_VOLUME_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 79 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_VOLUME_COMPRESSION_STATE = make_flag("FSCTL_SET_VOLUME_COMPRESSION_STATE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 80 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_TXFS_MODIFY_RM = make_flag("FSCTL_TXFS_MODIFY_RM", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 81 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_QUERY_RM_INFORMATION = make_flag("FSCTL_TXFS_QUERY_RM_INFORMATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 82 , METHOD_BUFFERED , FILE_READ_DATA ))
|
||||
FSCTL_TXFS_ROLLFORWARD_REDO = make_flag("FSCTL_TXFS_ROLLFORWARD_REDO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 84 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_ROLLFORWARD_UNDO = make_flag("FSCTL_TXFS_ROLLFORWARD_UNDO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 85 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_START_RM = make_flag("FSCTL_TXFS_START_RM", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 86 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_SHUTDOWN_RM = make_flag("FSCTL_TXFS_SHUTDOWN_RM", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 87 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_READ_BACKUP_INFORMATION = make_flag("FSCTL_TXFS_READ_BACKUP_INFORMATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 88 , METHOD_BUFFERED , FILE_READ_DATA ))
|
||||
FSCTL_TXFS_WRITE_BACKUP_INFORMATION = make_flag("FSCTL_TXFS_WRITE_BACKUP_INFORMATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 89 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_CREATE_SECONDARY_RM = make_flag("FSCTL_TXFS_CREATE_SECONDARY_RM", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 90 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_GET_METADATA_INFO = make_flag("FSCTL_TXFS_GET_METADATA_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 91 , METHOD_BUFFERED , FILE_READ_DATA ))
|
||||
FSCTL_TXFS_GET_TRANSACTED_VERSION = make_flag("FSCTL_TXFS_GET_TRANSACTED_VERSION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 92 , METHOD_BUFFERED , FILE_READ_DATA ))
|
||||
FSCTL_TXFS_SAVEPOINT_INFORMATION = make_flag("FSCTL_TXFS_SAVEPOINT_INFORMATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 94 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_CREATE_MINIVERSION = make_flag("FSCTL_TXFS_CREATE_MINIVERSION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 95 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_TXFS_TRANSACTION_ACTIVE = make_flag("FSCTL_TXFS_TRANSACTION_ACTIVE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 99 , METHOD_BUFFERED , FILE_READ_DATA ))
|
||||
FSCTL_SET_ZERO_ON_DEALLOCATION = make_flag("FSCTL_SET_ZERO_ON_DEALLOCATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 101 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_SET_REPAIR = make_flag("FSCTL_SET_REPAIR", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 102 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_REPAIR = make_flag("FSCTL_GET_REPAIR", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 103 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_WAIT_FOR_REPAIR = make_flag("FSCTL_WAIT_FOR_REPAIR", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 104 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_INITIATE_REPAIR = make_flag("FSCTL_INITIATE_REPAIR", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 106 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSC_INTERNAL = make_flag("FSCTL_CSC_INTERNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 107 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_SHRINK_VOLUME = make_flag("FSCTL_SHRINK_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 108 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_SET_SHORT_NAME_BEHAVIOR = make_flag("FSCTL_SET_SHORT_NAME_BEHAVIOR", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 109 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DFSR_SET_GHOST_HANDLE_STATE = make_flag("FSCTL_DFSR_SET_GHOST_HANDLE_STATE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 110 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES = make_flag("FSCTL_TXFS_LIST_TRANSACTION_LOCKED_FILES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 120 , METHOD_BUFFERED , FILE_READ_DATA ))
|
||||
FSCTL_TXFS_LIST_TRANSACTIONS = make_flag("FSCTL_TXFS_LIST_TRANSACTIONS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 121 , METHOD_BUFFERED , FILE_READ_DATA ))
|
||||
FSCTL_QUERY_PAGEFILE_ENCRYPTION = make_flag("FSCTL_QUERY_PAGEFILE_ENCRYPTION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 122 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_RESET_VOLUME_ALLOCATION_HINTS = make_flag("FSCTL_RESET_VOLUME_ALLOCATION_HINTS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 123 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_DEPENDENT_VOLUME = make_flag("FSCTL_QUERY_DEPENDENT_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 124 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SD_GLOBAL_CHANGE = make_flag("FSCTL_SD_GLOBAL_CHANGE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 125 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_TXFS_READ_BACKUP_INFORMATION2 = make_flag("FSCTL_TXFS_READ_BACKUP_INFORMATION2", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 126 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_LOOKUP_STREAM_FROM_CLUSTER = make_flag("FSCTL_LOOKUP_STREAM_FROM_CLUSTER", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 127 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_TXFS_WRITE_BACKUP_INFORMATION2 = make_flag("FSCTL_TXFS_WRITE_BACKUP_INFORMATION2", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 128 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_FILE_TYPE_NOTIFICATION = make_flag("FSCTL_FILE_TYPE_NOTIFICATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 129 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_FILE_LEVEL_TRIM = make_flag("FSCTL_FILE_LEVEL_TRIM", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 130 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_GET_BOOT_AREA_INFO = make_flag("FSCTL_GET_BOOT_AREA_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 140 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_RETRIEVAL_POINTER_BASE = make_flag("FSCTL_GET_RETRIEVAL_POINTER_BASE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 141 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_PERSISTENT_VOLUME_STATE = make_flag("FSCTL_SET_PERSISTENT_VOLUME_STATE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 142 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_PERSISTENT_VOLUME_STATE = make_flag("FSCTL_QUERY_PERSISTENT_VOLUME_STATE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 143 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REQUEST_OPLOCK = make_flag("FSCTL_REQUEST_OPLOCK", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 144 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_TUNNEL_REQUEST = make_flag("FSCTL_CSV_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 145 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_IS_CSV_FILE = make_flag("FSCTL_IS_CSV_FILE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 146 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_FILE_SYSTEM_RECOGNITION = make_flag("FSCTL_QUERY_FILE_SYSTEM_RECOGNITION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 147 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_GET_VOLUME_PATH_NAME = make_flag("FSCTL_CSV_GET_VOLUME_PATH_NAME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 148 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT = make_flag("FSCTL_CSV_GET_VOLUME_NAME_FOR_VOLUME_MOUNT_POINT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 149 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME = make_flag("FSCTL_CSV_GET_VOLUME_PATH_NAMES_FOR_VOLUME_NAME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 150 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_IS_FILE_ON_CSV_VOLUME = make_flag("FSCTL_IS_FILE_ON_CSV_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 151 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CORRUPTION_HANDLING = make_flag("FSCTL_CORRUPTION_HANDLING", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 152 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_OFFLOAD_READ = make_flag("FSCTL_OFFLOAD_READ", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 153 , METHOD_BUFFERED , FILE_READ_ACCESS ))
|
||||
FSCTL_OFFLOAD_WRITE = make_flag("FSCTL_OFFLOAD_WRITE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 154 , METHOD_BUFFERED , FILE_WRITE_ACCESS ))
|
||||
FSCTL_CSV_INTERNAL = make_flag("FSCTL_CSV_INTERNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 155 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_PURGE_FAILURE_MODE = make_flag("FSCTL_SET_PURGE_FAILURE_MODE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 156 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_FILE_LAYOUT = make_flag("FSCTL_QUERY_FILE_LAYOUT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 157 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_IS_VOLUME_OWNED_BYCSVFS = make_flag("FSCTL_IS_VOLUME_OWNED_BYCSVFS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 158 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_INTEGRITY_INFORMATION = make_flag("FSCTL_GET_INTEGRITY_INFORMATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 159 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_INTEGRITY_INFORMATION = make_flag("FSCTL_SET_INTEGRITY_INFORMATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 160 , METHOD_BUFFERED , FILE_READ_DATA | FILE_WRITE_DATA ))
|
||||
FSCTL_QUERY_FILE_REGIONS = make_flag("FSCTL_QUERY_FILE_REGIONS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 161 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_RKF_INTERNAL = make_flag("FSCTL_RKF_INTERNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 171 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_SCRUB_DATA = make_flag("FSCTL_SCRUB_DATA", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 172 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REPAIR_COPIES = make_flag("FSCTL_REPAIR_COPIES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 173 , METHOD_BUFFERED , FILE_READ_DATA | FILE_WRITE_DATA ))
|
||||
FSCTL_DISABLE_LOCAL_BUFFERING = make_flag("FSCTL_DISABLE_LOCAL_BUFFERING", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 174 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_MGMT_LOCK = make_flag("FSCTL_CSV_MGMT_LOCK", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 175 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS = make_flag("FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 176 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_ADVANCE_FILE_ID = make_flag("FSCTL_ADVANCE_FILE_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 177 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_SYNC_TUNNEL_REQUEST = make_flag("FSCTL_CSV_SYNC_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 178 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO = make_flag("FSCTL_CSV_QUERY_VETO_FILE_DIRECT_IO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 179 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_WRITE_USN_REASON = make_flag("FSCTL_WRITE_USN_REASON", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 180 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_CONTROL = make_flag("FSCTL_CSV_CONTROL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 181 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_REFS_VOLUME_DATA = make_flag("FSCTL_GET_REFS_VOLUME_DATA", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 182 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST = make_flag("FSCTL_CSV_H_BREAKING_SYNC_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 185 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_STORAGE_CLASSES = make_flag("FSCTL_QUERY_STORAGE_CLASSES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 187 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_REGION_INFO = make_flag("FSCTL_QUERY_REGION_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 188 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_USN_TRACK_MODIFIED_RANGES = make_flag("FSCTL_USN_TRACK_MODIFIED_RANGES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 189 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT = make_flag("FSCTL_QUERY_SHARED_VIRTUAL_DISK_SUPPORT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 192 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SVHDX_SYNC_TUNNEL_REQUEST = make_flag("FSCTL_SVHDX_SYNC_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 193 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SVHDX_SET_INITIATOR_INFORMATION = make_flag("FSCTL_SVHDX_SET_INITIATOR_INFORMATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 194 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_EXTERNAL_BACKING = make_flag("FSCTL_SET_EXTERNAL_BACKING", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 195 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_GET_EXTERNAL_BACKING = make_flag("FSCTL_GET_EXTERNAL_BACKING", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 196 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DELETE_EXTERNAL_BACKING = make_flag("FSCTL_DELETE_EXTERNAL_BACKING", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 197 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_ENUM_EXTERNAL_BACKING = make_flag("FSCTL_ENUM_EXTERNAL_BACKING", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 198 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_ENUM_OVERLAY = make_flag("FSCTL_ENUM_OVERLAY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 199 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_ADD_OVERLAY = make_flag("FSCTL_ADD_OVERLAY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 204 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_REMOVE_OVERLAY = make_flag("FSCTL_REMOVE_OVERLAY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 205 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_UPDATE_OVERLAY = make_flag("FSCTL_UPDATE_OVERLAY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 206 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_SHUFFLE_FILE = make_flag("FSCTL_SHUFFLE_FILE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 208 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
FSCTL_DUPLICATE_EXTENTS_TO_FILE = make_flag("FSCTL_DUPLICATE_EXTENTS_TO_FILE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 209 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_SPARSE_OVERALLOCATE = make_flag("FSCTL_SPARSE_OVERALLOCATE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 211 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_STORAGE_QOS_CONTROL = make_flag("FSCTL_STORAGE_QOS_CONTROL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 212 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_INITIATE_FILE_METADATA_OPTIMIZATION = make_flag("FSCTL_INITIATE_FILE_METADATA_OPTIMIZATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 215 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_QUERY_FILE_METADATA_OPTIMIZATION = make_flag("FSCTL_QUERY_FILE_METADATA_OPTIMIZATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 216 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_SVHDX_ASYNC_TUNNEL_REQUEST = make_flag("FSCTL_SVHDX_ASYNC_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 217 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_WOF_VERSION = make_flag("FSCTL_GET_WOF_VERSION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 218 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_HCS_SYNC_TUNNEL_REQUEST = make_flag("FSCTL_HCS_SYNC_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 219 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_HCS_ASYNC_TUNNEL_REQUEST = make_flag("FSCTL_HCS_ASYNC_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 220 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_EXTENT_READ_CACHE_INFO = make_flag("FSCTL_QUERY_EXTENT_READ_CACHE_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 221 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_REFS_VOLUME_COUNTER_INFO = make_flag("FSCTL_QUERY_REFS_VOLUME_COUNTER_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 222 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_CLEAN_VOLUME_METADATA = make_flag("FSCTL_CLEAN_VOLUME_METADATA", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 223 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_INTEGRITY_INFORMATION_EX = make_flag("FSCTL_SET_INTEGRITY_INFORMATION_EX", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 224 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SUSPEND_OVERLAY = make_flag("FSCTL_SUSPEND_OVERLAY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 225 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY = make_flag("FSCTL_VIRTUAL_STORAGE_QUERY_PROPERTY", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 226 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_FILESYSTEM_GET_STATISTICS_EX = make_flag("FSCTL_FILESYSTEM_GET_STATISTICS_EX", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 227 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_VOLUME_CONTAINER_STATE = make_flag("FSCTL_QUERY_VOLUME_CONTAINER_STATE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 228 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_LAYER_ROOT = make_flag("FSCTL_SET_LAYER_ROOT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 229 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_DIRECT_ACCESS_EXTENTS = make_flag("FSCTL_QUERY_DIRECT_ACCESS_EXTENTS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 230 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_NOTIFY_STORAGE_SPACE_ALLOCATION = make_flag("FSCTL_NOTIFY_STORAGE_SPACE_ALLOCATION", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 231 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SSDI_STORAGE_REQUEST = make_flag("FSCTL_SSDI_STORAGE_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 232 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_DIRECT_IMAGE_ORIGINAL_BASE = make_flag("FSCTL_QUERY_DIRECT_IMAGE_ORIGINAL_BASE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 233 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_READ_UNPRIVILEGED_USN_JOURNAL = make_flag("FSCTL_READ_UNPRIVILEGED_USN_JOURNAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 234 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_GHOST_FILE_EXTENTS = make_flag("FSCTL_GHOST_FILE_EXTENTS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 235 , METHOD_BUFFERED , FILE_WRITE_ACCESS ))
|
||||
FSCTL_QUERY_GHOSTED_FILE_EXTENTS = make_flag("FSCTL_QUERY_GHOSTED_FILE_EXTENTS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 236 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_UNMAP_SPACE = make_flag("FSCTL_UNMAP_SPACE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 237 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_HCS_SYNC_NO_WRITE_TUNNEL_REQUEST = make_flag("FSCTL_HCS_SYNC_NO_WRITE_TUNNEL_REQUEST", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 238 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_START_VIRTUALIZATION_INSTANCE = make_flag("FSCTL_START_VIRTUALIZATION_INSTANCE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 240 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_FILTER_FILE_IDENTIFIER = make_flag("FSCTL_GET_FILTER_FILE_IDENTIFIER", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 241 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_STREAMS_QUERY_PARAMETERS = make_flag("FSCTL_STREAMS_QUERY_PARAMETERS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 241 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_STREAMS_ASSOCIATE_ID = make_flag("FSCTL_STREAMS_ASSOCIATE_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 242 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_STREAMS_QUERY_ID = make_flag("FSCTL_STREAMS_QUERY_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 243 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT = make_flag("FSCTL_GET_RETRIEVAL_POINTERS_AND_REFCOUNT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 244 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_VOLUME_NUMA_INFO = make_flag("FSCTL_QUERY_VOLUME_NUMA_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 245 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_DEALLOCATE_RANGES = make_flag("FSCTL_REFS_DEALLOCATE_RANGES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 246 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_REFS_SMR_VOLUME_INFO = make_flag("FSCTL_QUERY_REFS_SMR_VOLUME_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 247 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_REFS_SMR_VOLUME_GC_PARAMETERS = make_flag("FSCTL_SET_REFS_SMR_VOLUME_GC_PARAMETERS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 248 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_REFS_FILE_STRICTLY_SEQUENTIAL = make_flag("FSCTL_SET_REFS_FILE_STRICTLY_SEQUENTIAL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 249 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX = make_flag("FSCTL_DUPLICATE_EXTENTS_TO_FILE_EX", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 250 , METHOD_BUFFERED , FILE_WRITE_DATA ))
|
||||
FSCTL_QUERY_BAD_RANGES = make_flag("FSCTL_QUERY_BAD_RANGES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 251 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_DAX_ALLOC_ALIGNMENT_HINT = make_flag("FSCTL_SET_DAX_ALLOC_ALIGNMENT_HINT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 252 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DELETE_CORRUPTED_REFS_CONTAINER = make_flag("FSCTL_DELETE_CORRUPTED_REFS_CONTAINER", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 253 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SCRUB_UNDISCOVERABLE_ID = make_flag("FSCTL_SCRUB_UNDISCOVERABLE_ID", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 254 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_NOTIFY_DATA_CHANGE = make_flag("FSCTL_NOTIFY_DATA_CHANGE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 255 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_START_VIRTUALIZATION_INSTANCE_EX = make_flag("FSCTL_START_VIRTUALIZATION_INSTANCE_EX", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 256 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_ENCRYPTION_KEY_CONTROL = make_flag("FSCTL_ENCRYPTION_KEY_CONTROL", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 257 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_VIRTUAL_STORAGE_SET_BEHAVIOR = make_flag("FSCTL_VIRTUAL_STORAGE_SET_BEHAVIOR", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 258 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_REPARSE_POINT_EX = make_flag("FSCTL_SET_REPARSE_POINT_EX", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 259 , METHOD_BUFFERED , FILE_SPECIAL_ACCESS ))
|
||||
FSCTL_REARRANGE_FILE = make_flag("FSCTL_REARRANGE_FILE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 264 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
FSCTL_VIRTUAL_STORAGE_PASSTHROUGH = make_flag("FSCTL_VIRTUAL_STORAGE_PASSTHROUGH", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 265 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_GET_RETRIEVAL_POINTER_COUNT = make_flag("FSCTL_GET_RETRIEVAL_POINTER_COUNT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 266 , METHOD_NEITHER , FILE_ANY_ACCESS ))
|
||||
FSCTL_ENABLE_PER_IO_FLAGS = make_flag("FSCTL_ENABLE_PER_IO_FLAGS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 267 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_ASYNC_DUPLICATE_EXTENTS_STATUS = make_flag("FSCTL_QUERY_ASYNC_DUPLICATE_EXTENTS_STATUS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 268 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SMB_SHARE_FLUSH_AND_PURGE = make_flag("FSCTL_SMB_SHARE_FLUSH_AND_PURGE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 271 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT = make_flag("FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 272 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_MANAGE_BYPASS_IO = make_flag("FSCTL_MANAGE_BYPASS_IO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 274 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_DEALLOCATE_RANGES_EX = make_flag("FSCTL_REFS_DEALLOCATE_RANGES_EX", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 275 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_SET_CACHED_RUNS_STATE = make_flag("FSCTL_SET_CACHED_RUNS_STATE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 276 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_SET_VOLUME_COMPRESSION_INFO = make_flag("FSCTL_REFS_SET_VOLUME_COMPRESSION_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 277 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_QUERY_VOLUME_COMPRESSION_INFO = make_flag("FSCTL_REFS_QUERY_VOLUME_COMPRESSION_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 278 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_DUPLICATE_CLUSTER = make_flag("FSCTL_DUPLICATE_CLUSTER", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 279 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CREATE_LCN_WEAK_REFERENCE = make_flag("FSCTL_CREATE_LCN_WEAK_REFERENCE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 280 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CLEAR_LCN_WEAK_REFERENCE = make_flag("FSCTL_CLEAR_LCN_WEAK_REFERENCE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 281 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_QUERY_LCN_WEAK_REFERENCE = make_flag("FSCTL_QUERY_LCN_WEAK_REFERENCE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 282 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CLEAR_ALL_LCN_WEAK_REFERENCES = make_flag("FSCTL_CLEAR_ALL_LCN_WEAK_REFERENCES", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 283 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_SET_VOLUME_DEDUP_INFO = make_flag("FSCTL_REFS_SET_VOLUME_DEDUP_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 284 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_QUERY_VOLUME_DEDUP_INFO = make_flag("FSCTL_REFS_QUERY_VOLUME_DEDUP_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 285 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_LMR_QUERY_INFO = make_flag("FSCTL_LMR_QUERY_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 286 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_CHECKPOINT_VOLUME = make_flag("FSCTL_REFS_CHECKPOINT_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 287 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_QUERY_VOLUME_TOTAL_SHARED_LCNS = make_flag("FSCTL_REFS_QUERY_VOLUME_TOTAL_SHARED_LCNS", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 288 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_UPGRADE_VOLUME = make_flag("FSCTL_UPGRADE_VOLUME", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 289 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_SET_VOLUME_IO_METRICS_INFO = make_flag("FSCTL_REFS_SET_VOLUME_IO_METRICS_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 290 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_QUERY_VOLUME_IO_METRICS_INFO = make_flag("FSCTL_REFS_QUERY_VOLUME_IO_METRICS_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 291 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_SET_ROLLBACK_PROTECTION_INFO = make_flag("FSCTL_REFS_SET_ROLLBACK_PROTECTION_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 292 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_REFS_QUERY_ROLLBACK_PROTECTION_INFO = make_flag("FSCTL_REFS_QUERY_ROLLBACK_PROTECTION_INFO", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 293 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_FILE_SOV_CHECK_RANGE = make_flag("FSCTL_FILE_SOV_CHECK_RANGE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 294 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
FSCTL_CASCADES_REFS_SET_FILE_REMOTE = make_flag("FSCTL_CASCADES_REFS_SET_FILE_REMOTE", CTL_CODE ( FILE_DEVICE_FILE_SYSTEM , 295 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
MOUNTMGR_DEVICE_NAME = make_flag("MOUNTMGR_DEVICE_NAME", u"\\Device\\MountPointManager")
|
||||
MOUNTMGR_DOS_DEVICE_NAME = make_flag("MOUNTMGR_DOS_DEVICE_NAME", u"\\\\.\\MountPointManager")
|
||||
MOUNTMGRCONTROLTYPE = make_flag("MOUNTMGRCONTROLTYPE", 0x0000006D)
|
||||
MOUNTDEVCONTROLTYPE = make_flag("MOUNTDEVCONTROLTYPE", 0x0000004D)
|
||||
IOCTL_MOUNTMGR_CREATE_POINT = make_flag("IOCTL_MOUNTMGR_CREATE_POINT", CTL_CODE ( MOUNTMGRCONTROLTYPE , 0 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_DELETE_POINTS = make_flag("IOCTL_MOUNTMGR_DELETE_POINTS", CTL_CODE ( MOUNTMGRCONTROLTYPE , 1 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_QUERY_POINTS = make_flag("IOCTL_MOUNTMGR_QUERY_POINTS", CTL_CODE ( MOUNTMGRCONTROLTYPE , 2 , METHOD_BUFFERED , FILE_ANY_ACCESS ))
|
||||
IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY = make_flag("IOCTL_MOUNTMGR_DELETE_POINTS_DBONLY", CTL_CODE ( MOUNTMGRCONTROLTYPE , 3 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER = make_flag("IOCTL_MOUNTMGR_NEXT_DRIVE_LETTER", CTL_CODE ( MOUNTMGRCONTROLTYPE , 4 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS = make_flag("IOCTL_MOUNTMGR_AUTO_DL_ASSIGNMENTS", CTL_CODE ( MOUNTMGRCONTROLTYPE , 5 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED = make_flag("IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_CREATED", CTL_CODE ( MOUNTMGRCONTROLTYPE , 6 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED = make_flag("IOCTL_MOUNTMGR_VOLUME_MOUNT_POINT_DELETED", CTL_CODE ( MOUNTMGRCONTROLTYPE , 7 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_CHANGE_NOTIFY = make_flag("IOCTL_MOUNTMGR_CHANGE_NOTIFY", CTL_CODE ( MOUNTMGRCONTROLTYPE , 8 , METHOD_BUFFERED , FILE_READ_ACCESS ))
|
||||
IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE = make_flag("IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE", CTL_CODE ( MOUNTMGRCONTROLTYPE , 9 , METHOD_BUFFERED , FILE_READ_ACCESS | FILE_WRITE_ACCESS ))
|
||||
IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES = make_flag("IOCTL_MOUNTMGR_CHECK_UNPROCESSED_VOLUMES", CTL_CODE ( MOUNTMGRCONTROLTYPE , 10 , METHOD_BUFFERED , FILE_READ_ACCESS ))
|
||||
IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION = make_flag("IOCTL_MOUNTMGR_VOLUME_ARRIVAL_NOTIFICATION", CTL_CODE ( MOUNTMGRCONTROLTYPE , 11 , METHOD_BUFFERED , FILE_READ_ACCESS ))
|
||||
TOKEN_SOURCE_LENGTH = make_flag("TOKEN_SOURCE_LENGTH", 8)
|
||||
SID_HASH_SIZE = make_flag("SID_HASH_SIZE", 32)
|
||||
TOKEN_MANDATORY_POLICY_OFF = make_flag("TOKEN_MANDATORY_POLICY_OFF", 0x0)
|
||||
|
||||
@@ -1380,6 +1380,46 @@ WinHttpAddRequestHeadersParams = ((1, 'hRequest'), (1, 'lpszHeaders'), (1, 'dwHe
|
||||
WinHttpQueryHeadersPrototype = WINFUNCTYPE(BOOL, HINTERNET, DWORD, LPCWSTR, LPVOID, LPDWORD, LPDWORD)
|
||||
WinHttpQueryHeadersParams = ((1, 'hRequest'), (1, 'dwInfoLevel'), (1, 'pwszName'), (1, 'lpBuffer'), (1, 'lpdwBufferLength'), (1, 'lpdwIndex'))
|
||||
|
||||
#def GetOverlappedResult(hFile, lpOverlapped, lpNumberOfBytesTransferred, bWait):
|
||||
# return GetOverlappedResult.ctypes_function(hFile, lpOverlapped, lpNumberOfBytesTransferred, bWait)
|
||||
GetOverlappedResultPrototype = WINFUNCTYPE(BOOL, HANDLE, LPOVERLAPPED, LPDWORD, BOOL)
|
||||
GetOverlappedResultParams = ((1, 'hFile'), (1, 'lpOverlapped'), (1, 'lpNumberOfBytesTransferred'), (1, 'bWait'))
|
||||
|
||||
#def CreateIoCompletionPort(FileHandle, ExistingCompletionPort, CompletionKey, NumberOfConcurrentThreads):
|
||||
# return CreateIoCompletionPort.ctypes_function(FileHandle, ExistingCompletionPort, CompletionKey, NumberOfConcurrentThreads)
|
||||
CreateIoCompletionPortPrototype = WINFUNCTYPE(HANDLE, HANDLE, HANDLE, ULONG_PTR, DWORD)
|
||||
CreateIoCompletionPortParams = ((1, 'FileHandle'), (1, 'ExistingCompletionPort'), (1, 'CompletionKey'), (1, 'NumberOfConcurrentThreads'))
|
||||
|
||||
#def GetQueuedCompletionStatus(CompletionPort, lpNumberOfBytesTransferred, lpCompletionKey, lpOverlapped, dwMilliseconds):
|
||||
# return GetQueuedCompletionStatus.ctypes_function(CompletionPort, lpNumberOfBytesTransferred, lpCompletionKey, lpOverlapped, dwMilliseconds)
|
||||
GetQueuedCompletionStatusPrototype = WINFUNCTYPE(BOOL, HANDLE, LPDWORD, PULONG_PTR, POINTER(LPOVERLAPPED), DWORD)
|
||||
GetQueuedCompletionStatusParams = ((1, 'CompletionPort'), (1, 'lpNumberOfBytesTransferred'), (1, 'lpCompletionKey'), (1, 'lpOverlapped'), (1, 'dwMilliseconds'))
|
||||
|
||||
#def GetQueuedCompletionStatusEx(CompletionPort, lpCompletionPortEntries, ulCount, ulNumEntriesRemoved, dwMilliseconds, fAlertable):
|
||||
# return GetQueuedCompletionStatusEx.ctypes_function(CompletionPort, lpCompletionPortEntries, ulCount, ulNumEntriesRemoved, dwMilliseconds, fAlertable)
|
||||
GetQueuedCompletionStatusExPrototype = WINFUNCTYPE(BOOL, HANDLE, LPOVERLAPPED_ENTRY, ULONG, PULONG, DWORD, BOOL)
|
||||
GetQueuedCompletionStatusExParams = ((1, 'CompletionPort'), (1, 'lpCompletionPortEntries'), (1, 'ulCount'), (1, 'ulNumEntriesRemoved'), (1, 'dwMilliseconds'), (1, 'fAlertable'))
|
||||
|
||||
#def PostQueuedCompletionStatus(CompletionPort, dwNumberOfBytesTransferred, dwCompletionKey, lpOverlapped):
|
||||
# return PostQueuedCompletionStatus.ctypes_function(CompletionPort, dwNumberOfBytesTransferred, dwCompletionKey, lpOverlapped)
|
||||
PostQueuedCompletionStatusPrototype = WINFUNCTYPE(BOOL, HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED)
|
||||
PostQueuedCompletionStatusParams = ((1, 'CompletionPort'), (1, 'dwNumberOfBytesTransferred'), (1, 'dwCompletionKey'), (1, 'lpOverlapped'))
|
||||
|
||||
#def CancelIo(hFile):
|
||||
# return CancelIo.ctypes_function(hFile)
|
||||
CancelIoPrototype = WINFUNCTYPE(BOOL, HANDLE)
|
||||
CancelIoParams = ((1, 'hFile'),)
|
||||
|
||||
#def CancelIoEx(hFile, lpOverlapped):
|
||||
# return CancelIoEx.ctypes_function(hFile, lpOverlapped)
|
||||
CancelIoExPrototype = WINFUNCTYPE(BOOL, HANDLE, LPOVERLAPPED)
|
||||
CancelIoExParams = ((1, 'hFile'), (1, 'lpOverlapped'))
|
||||
|
||||
#def CancelSynchronousIo(hThread):
|
||||
# return CancelSynchronousIo.ctypes_function(hThread)
|
||||
CancelSynchronousIoPrototype = WINFUNCTYPE(BOOL, HANDLE)
|
||||
CancelSynchronousIoParams = ((1, 'hThread'),)
|
||||
|
||||
#def LsaOpenPolicy(SystemName, ObjectAttributes, DesiredAccess, PolicyHandle):
|
||||
# return LsaOpenPolicy.ctypes_function(SystemName, ObjectAttributes, DesiredAccess, PolicyHandle)
|
||||
LsaOpenPolicyPrototype = WINFUNCTYPE(NTSTATUS, PLSA_UNICODE_STRING, PLSA_OBJECT_ATTRIBUTES, ACCESS_MASK, PLSA_HANDLE)
|
||||
|
||||
+341
-210
@@ -71,6 +71,7 @@ PDWORD = POINTER(DWORD)
|
||||
LPDWORD = POINTER(DWORD)
|
||||
LPBYTE = POINTER(BYTE)
|
||||
ULONG_PTR = PVOID
|
||||
PULONG_PTR = POINTER(ULONG_PTR)
|
||||
LONG_PTR = PVOID
|
||||
DWORD_PTR = ULONG_PTR
|
||||
PDWORD_PTR = POINTER(DWORD_PTR)
|
||||
@@ -1206,6 +1207,40 @@ _INTERNET_BUFFERSW._fields_ = [
|
||||
("dwOffsetHigh", DWORD),
|
||||
]
|
||||
|
||||
class _ANON__ANON__OVERLAPPED_SUB_UNION_1_SUB_STRUCTURE_1(Structure):
|
||||
_fields_ = [
|
||||
("Offset", DWORD),
|
||||
("OffsetHigh", DWORD),
|
||||
]
|
||||
|
||||
class _ANON__OVERLAPPED_SUB_UNION_1(Union):
|
||||
_anonymous_ = ("_ANON_OVERLAPPED_DUMMYSTRUCTNAME",)
|
||||
_fields_ = [
|
||||
("_ANON_OVERLAPPED_DUMMYSTRUCTNAME", _ANON__ANON__OVERLAPPED_SUB_UNION_1_SUB_STRUCTURE_1),
|
||||
("Pointer", PVOID),
|
||||
]
|
||||
|
||||
class _OVERLAPPED(Structure):
|
||||
_anonymous_ = ("_ANON_OVERLAPPED_DUMMYUNIONNAME",)
|
||||
_fields_ = [
|
||||
("Internal", ULONG_PTR),
|
||||
("InternalHigh", ULONG_PTR),
|
||||
("_ANON_OVERLAPPED_DUMMYUNIONNAME", _ANON__OVERLAPPED_SUB_UNION_1),
|
||||
("hEvent", HANDLE),
|
||||
]
|
||||
LPOVERLAPPED = POINTER(_OVERLAPPED)
|
||||
OVERLAPPED = _OVERLAPPED
|
||||
|
||||
class _OVERLAPPED_ENTRY(Structure):
|
||||
_fields_ = [
|
||||
("lpCompletionKey", ULONG_PTR),
|
||||
("lpOverlapped", LPOVERLAPPED),
|
||||
("Internal", ULONG_PTR),
|
||||
("dwNumberOfBytesTransferred", DWORD),
|
||||
]
|
||||
OVERLAPPED_ENTRY = _OVERLAPPED_ENTRY
|
||||
LPOVERLAPPED_ENTRY = POINTER(_OVERLAPPED_ENTRY)
|
||||
|
||||
ProcessDEPPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessDEPPolicy", 0x0)
|
||||
ProcessASLRPolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessASLRPolicy", 0x1)
|
||||
ProcessDynamicCodePolicy = EnumValue("_PROCESS_MITIGATION_POLICY", "ProcessDynamicCodePolicy", 0x2)
|
||||
@@ -2517,6 +2552,312 @@ class _KEY_VALUE_PARTIAL_INFORMATION(Structure):
|
||||
PKEY_VALUE_PARTIAL_INFORMATION = POINTER(_KEY_VALUE_PARTIAL_INFORMATION)
|
||||
KEY_VALUE_PARTIAL_INFORMATION = _KEY_VALUE_PARTIAL_INFORMATION
|
||||
|
||||
class _IMAGE_FILE_HEADER(Structure):
|
||||
_fields_ = [
|
||||
("Machine", WORD),
|
||||
("NumberOfSections", WORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("PointerToSymbolTable", DWORD),
|
||||
("NumberOfSymbols", DWORD),
|
||||
("SizeOfOptionalHeader", WORD),
|
||||
("Characteristics", WORD),
|
||||
]
|
||||
IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER
|
||||
PIMAGE_FILE_HEADER = POINTER(_IMAGE_FILE_HEADER)
|
||||
|
||||
class _IMAGE_DATA_DIRECTORY(Structure):
|
||||
_fields_ = [
|
||||
("VirtualAddress", DWORD),
|
||||
("Size", DWORD),
|
||||
]
|
||||
IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY
|
||||
PIMAGE_DATA_DIRECTORY = POINTER(_IMAGE_DATA_DIRECTORY)
|
||||
|
||||
class _IMAGE_SECTION_HEADER(Structure):
|
||||
_fields_ = [
|
||||
("Name", BYTE * (IMAGE_SIZEOF_SHORT_NAME)),
|
||||
("VirtualSize", DWORD),
|
||||
("VirtualAddress", DWORD),
|
||||
("SizeOfRawData", DWORD),
|
||||
("PointerToRawData", DWORD),
|
||||
("PointerToRelocations", DWORD),
|
||||
("PointerToLinenumbers", DWORD),
|
||||
("NumberOfRelocations", WORD),
|
||||
("NumberOfLinenumbers", WORD),
|
||||
("Characteristics", DWORD),
|
||||
]
|
||||
PIMAGE_SECTION_HEADER = POINTER(_IMAGE_SECTION_HEADER)
|
||||
IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER
|
||||
|
||||
class _IMAGE_OPTIONAL_HEADER64(Structure):
|
||||
_fields_ = [
|
||||
("Magic", WORD),
|
||||
("MajorLinkerVersion", BYTE),
|
||||
("MinorLinkerVersion", BYTE),
|
||||
("SizeOfCode", DWORD),
|
||||
("SizeOfInitializedData", DWORD),
|
||||
("SizeOfUninitializedData", DWORD),
|
||||
("AddressOfEntryPoint", DWORD),
|
||||
("BaseOfCode", DWORD),
|
||||
("ImageBase", ULONGLONG),
|
||||
("SectionAlignment", DWORD),
|
||||
("FileAlignment", DWORD),
|
||||
("MajorOperatingSystemVersion", WORD),
|
||||
("MinorOperatingSystemVersion", WORD),
|
||||
("MajorImageVersion", WORD),
|
||||
("MinorImageVersion", WORD),
|
||||
("MajorSubsystemVersion", WORD),
|
||||
("MinorSubsystemVersion", WORD),
|
||||
("Win32VersionValue", DWORD),
|
||||
("SizeOfImage", DWORD),
|
||||
("SizeOfHeaders", DWORD),
|
||||
("CheckSum", DWORD),
|
||||
("Subsystem", WORD),
|
||||
("DllCharacteristics", WORD),
|
||||
("SizeOfStackReserve", ULONGLONG),
|
||||
("SizeOfStackCommit", ULONGLONG),
|
||||
("SizeOfHeapReserve", ULONGLONG),
|
||||
("SizeOfHeapCommit", ULONGLONG),
|
||||
("LoaderFlags", DWORD),
|
||||
("NumberOfRvaAndSizes", DWORD),
|
||||
("DataDirectory", IMAGE_DATA_DIRECTORY * (IMAGE_NUMBEROF_DIRECTORY_ENTRIES)),
|
||||
]
|
||||
PIMAGE_OPTIONAL_HEADER64 = POINTER(_IMAGE_OPTIONAL_HEADER64)
|
||||
IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64
|
||||
|
||||
class _IMAGE_OPTIONAL_HEADER(Structure):
|
||||
_fields_ = [
|
||||
("Magic", WORD),
|
||||
("MajorLinkerVersion", BYTE),
|
||||
("MinorLinkerVersion", BYTE),
|
||||
("SizeOfCode", DWORD),
|
||||
("SizeOfInitializedData", DWORD),
|
||||
("SizeOfUninitializedData", DWORD),
|
||||
("AddressOfEntryPoint", DWORD),
|
||||
("BaseOfCode", DWORD),
|
||||
("BaseOfData", DWORD),
|
||||
("ImageBase", DWORD),
|
||||
("SectionAlignment", DWORD),
|
||||
("FileAlignment", DWORD),
|
||||
("MajorOperatingSystemVersion", WORD),
|
||||
("MinorOperatingSystemVersion", WORD),
|
||||
("MajorImageVersion", WORD),
|
||||
("MinorImageVersion", WORD),
|
||||
("MajorSubsystemVersion", WORD),
|
||||
("MinorSubsystemVersion", WORD),
|
||||
("Win32VersionValue", DWORD),
|
||||
("SizeOfImage", DWORD),
|
||||
("SizeOfHeaders", DWORD),
|
||||
("CheckSum", DWORD),
|
||||
("Subsystem", WORD),
|
||||
("DllCharacteristics", WORD),
|
||||
("SizeOfStackReserve", DWORD),
|
||||
("SizeOfStackCommit", DWORD),
|
||||
("SizeOfHeapReserve", DWORD),
|
||||
("SizeOfHeapCommit", DWORD),
|
||||
("LoaderFlags", DWORD),
|
||||
("NumberOfRvaAndSizes", DWORD),
|
||||
("DataDirectory", IMAGE_DATA_DIRECTORY * (IMAGE_NUMBEROF_DIRECTORY_ENTRIES)),
|
||||
]
|
||||
PIMAGE_OPTIONAL_HEADER32 = POINTER(_IMAGE_OPTIONAL_HEADER)
|
||||
IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER
|
||||
|
||||
class _IMAGE_NT_HEADERS64(Structure):
|
||||
_fields_ = [
|
||||
("Signature", DWORD),
|
||||
("FileHeader", IMAGE_FILE_HEADER),
|
||||
("OptionalHeader", IMAGE_OPTIONAL_HEADER64),
|
||||
]
|
||||
PIMAGE_NT_HEADERS64 = POINTER(_IMAGE_NT_HEADERS64)
|
||||
IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64
|
||||
|
||||
class _IMAGE_NT_HEADERS(Structure):
|
||||
_fields_ = [
|
||||
("Signature", DWORD),
|
||||
("FileHeader", IMAGE_FILE_HEADER),
|
||||
("OptionalHeader", IMAGE_OPTIONAL_HEADER32),
|
||||
]
|
||||
IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS
|
||||
PIMAGE_NT_HEADERS32 = POINTER(_IMAGE_NT_HEADERS)
|
||||
|
||||
class _IMAGE_IMPORT_DESCRIPTOR(Structure):
|
||||
_fields_ = [
|
||||
("OriginalFirstThunk", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("ForwarderChain", DWORD),
|
||||
("Name", DWORD),
|
||||
("FirstThunk", DWORD),
|
||||
]
|
||||
IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR
|
||||
PIMAGE_IMPORT_DESCRIPTOR = POINTER(_IMAGE_IMPORT_DESCRIPTOR)
|
||||
|
||||
class _IMAGE_IMPORT_BY_NAME(Structure):
|
||||
_fields_ = [
|
||||
("Hint", WORD),
|
||||
("Name", BYTE * (1)),
|
||||
]
|
||||
PIMAGE_IMPORT_BY_NAME = POINTER(_IMAGE_IMPORT_BY_NAME)
|
||||
IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME
|
||||
|
||||
class _IMAGE_EXPORT_DIRECTORY(Structure):
|
||||
_fields_ = [
|
||||
("Characteristics", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("MajorVersion", WORD),
|
||||
("MinorVersion", WORD),
|
||||
("Name", DWORD),
|
||||
("Base", DWORD),
|
||||
("NumberOfFunctions", DWORD),
|
||||
("NumberOfNames", DWORD),
|
||||
("AddressOfFunctions", DWORD),
|
||||
("AddressOfNames", DWORD),
|
||||
("AddressOfNameOrdinals", DWORD),
|
||||
]
|
||||
IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY
|
||||
PIMAGE_EXPORT_DIRECTORY = POINTER(_IMAGE_EXPORT_DIRECTORY)
|
||||
|
||||
class _IMAGE_DEBUG_DIRECTORY(Structure):
|
||||
_fields_ = [
|
||||
("Characteristics", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("MajorVersion", WORD),
|
||||
("MinorVersion", WORD),
|
||||
("Type", DWORD),
|
||||
("SizeOfData", DWORD),
|
||||
("AddressOfRawData", DWORD),
|
||||
("PointerToRawData", DWORD),
|
||||
]
|
||||
PIMAGE_DEBUG_DIRECTORY = POINTER(_IMAGE_DEBUG_DIRECTORY)
|
||||
IMAGE_DEBUG_DIRECTORY = _IMAGE_DEBUG_DIRECTORY
|
||||
|
||||
class _IMAGE_BASE_RELOCATION(Structure):
|
||||
_fields_ = [
|
||||
("VirtualAddress", DWORD),
|
||||
("SizeOfBlock", DWORD),
|
||||
]
|
||||
PIMAGE_BASE_RELOCATION = POINTER(_IMAGE_BASE_RELOCATION)
|
||||
IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION
|
||||
|
||||
class _IMAGE_LOAD_CONFIG_CODE_INTEGRITY(Structure):
|
||||
_fields_ = [
|
||||
("Flags", WORD),
|
||||
("Catalog", WORD),
|
||||
("CatalogOffset", DWORD),
|
||||
("Reserved", DWORD),
|
||||
]
|
||||
PIMAGE_LOAD_CONFIG_CODE_INTEGRITY = POINTER(_IMAGE_LOAD_CONFIG_CODE_INTEGRITY)
|
||||
IMAGE_LOAD_CONFIG_CODE_INTEGRITY = _IMAGE_LOAD_CONFIG_CODE_INTEGRITY
|
||||
|
||||
class _IMAGE_LOAD_CONFIG_DIRECTORY32(Structure):
|
||||
_fields_ = [
|
||||
("Size", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("MajorVersion", WORD),
|
||||
("MinorVersion", WORD),
|
||||
("GlobalFlagsClear", DWORD),
|
||||
("GlobalFlagsSet", DWORD),
|
||||
("CriticalSectionDefaultTimeout", DWORD),
|
||||
("DeCommitFreeBlockThreshold", DWORD),
|
||||
("DeCommitTotalFreeThreshold", DWORD),
|
||||
("LockPrefixTable", DWORD),
|
||||
("MaximumAllocationSize", DWORD),
|
||||
("VirtualMemoryThreshold", DWORD),
|
||||
("ProcessHeapFlags", DWORD),
|
||||
("ProcessAffinityMask", DWORD),
|
||||
("CSDVersion", WORD),
|
||||
("DependentLoadFlags", WORD),
|
||||
("EditList", DWORD),
|
||||
("SecurityCookie", DWORD),
|
||||
("SEHandlerTable", DWORD),
|
||||
("SEHandlerCount", DWORD),
|
||||
("GuardCFCheckFunctionPointer", DWORD),
|
||||
("GuardCFDispatchFunctionPointer", DWORD),
|
||||
("GuardCFFunctionTable", DWORD),
|
||||
("GuardCFFunctionCount", DWORD),
|
||||
("GuardFlags", DWORD),
|
||||
("CodeIntegrity", IMAGE_LOAD_CONFIG_CODE_INTEGRITY),
|
||||
("GuardAddressTakenIatEntryTable", DWORD),
|
||||
("GuardAddressTakenIatEntryCount", DWORD),
|
||||
("GuardLongJumpTargetTable", DWORD),
|
||||
("GuardLongJumpTargetCount", DWORD),
|
||||
("DynamicValueRelocTable", DWORD),
|
||||
("CHPEMetadataPointer", DWORD),
|
||||
("GuardRFFailureRoutine", DWORD),
|
||||
("GuardRFFailureRoutineFunctionPointer", DWORD),
|
||||
("DynamicValueRelocTableOffset", DWORD),
|
||||
("DynamicValueRelocTableSection", WORD),
|
||||
("Reserved2", WORD),
|
||||
("GuardRFVerifyStackPointerFunctionPointer", DWORD),
|
||||
("HotPatchTableOffset", DWORD),
|
||||
("Reserved3", DWORD),
|
||||
("EnclaveConfigurationPointer", DWORD),
|
||||
("VolatileMetadataPointer", DWORD),
|
||||
("GuardEHContinuationTable", DWORD),
|
||||
("GuardEHContinuationCount", DWORD),
|
||||
("GuardXFGCheckFunctionPointer", DWORD),
|
||||
("GuardXFGDispatchFunctionPointer", DWORD),
|
||||
("GuardXFGTableDispatchFunctionPointer", DWORD),
|
||||
("CastGuardOsDeterminedFailureMode", DWORD),
|
||||
("GuardMemcpyFunctionPointer", DWORD),
|
||||
]
|
||||
IMAGE_LOAD_CONFIG_DIRECTORY32 = _IMAGE_LOAD_CONFIG_DIRECTORY32
|
||||
PIMAGE_LOAD_CONFIG_DIRECTORY32 = POINTER(_IMAGE_LOAD_CONFIG_DIRECTORY32)
|
||||
|
||||
class _IMAGE_LOAD_CONFIG_DIRECTORY64(Structure):
|
||||
_fields_ = [
|
||||
("Size", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("MajorVersion", WORD),
|
||||
("MinorVersion", WORD),
|
||||
("GlobalFlagsClear", DWORD),
|
||||
("GlobalFlagsSet", DWORD),
|
||||
("CriticalSectionDefaultTimeout", DWORD),
|
||||
("DeCommitFreeBlockThreshold", ULONGLONG),
|
||||
("DeCommitTotalFreeThreshold", ULONGLONG),
|
||||
("LockPrefixTable", ULONGLONG),
|
||||
("MaximumAllocationSize", ULONGLONG),
|
||||
("VirtualMemoryThreshold", ULONGLONG),
|
||||
("ProcessAffinityMask", ULONGLONG),
|
||||
("ProcessHeapFlags", DWORD),
|
||||
("CSDVersion", WORD),
|
||||
("DependentLoadFlags", WORD),
|
||||
("EditList", ULONGLONG),
|
||||
("SecurityCookie", ULONGLONG),
|
||||
("SEHandlerTable", ULONGLONG),
|
||||
("SEHandlerCount", ULONGLONG),
|
||||
("GuardCFCheckFunctionPointer", ULONGLONG),
|
||||
("GuardCFDispatchFunctionPointer", ULONGLONG),
|
||||
("GuardCFFunctionTable", ULONGLONG),
|
||||
("GuardCFFunctionCount", ULONGLONG),
|
||||
("GuardFlags", DWORD),
|
||||
("CodeIntegrity", IMAGE_LOAD_CONFIG_CODE_INTEGRITY),
|
||||
("GuardAddressTakenIatEntryTable", ULONGLONG),
|
||||
("GuardAddressTakenIatEntryCount", ULONGLONG),
|
||||
("GuardLongJumpTargetTable", ULONGLONG),
|
||||
("GuardLongJumpTargetCount", ULONGLONG),
|
||||
("DynamicValueRelocTable", ULONGLONG),
|
||||
("CHPEMetadataPointer", ULONGLONG),
|
||||
("GuardRFFailureRoutine", ULONGLONG),
|
||||
("GuardRFFailureRoutineFunctionPointer", ULONGLONG),
|
||||
("DynamicValueRelocTableOffset", DWORD),
|
||||
("DynamicValueRelocTableSection", WORD),
|
||||
("Reserved2", WORD),
|
||||
("GuardRFVerifyStackPointerFunctionPointer", ULONGLONG),
|
||||
("HotPatchTableOffset", DWORD),
|
||||
("Reserved3", DWORD),
|
||||
("EnclaveConfigurationPointer", ULONGLONG),
|
||||
("VolatileMetadataPointer", ULONGLONG),
|
||||
("GuardEHContinuationTable", ULONGLONG),
|
||||
("GuardEHContinuationCount", ULONGLONG),
|
||||
("GuardXFGCheckFunctionPointer", ULONGLONG),
|
||||
("GuardXFGDispatchFunctionPointer", ULONGLONG),
|
||||
("GuardXFGTableDispatchFunctionPointer", ULONGLONG),
|
||||
("CastGuardOsDeterminedFailureMode", ULONGLONG),
|
||||
("GuardMemcpyFunctionPointer", ULONGLONG),
|
||||
]
|
||||
IMAGE_LOAD_CONFIG_DIRECTORY64 = _IMAGE_LOAD_CONFIG_DIRECTORY64
|
||||
PIMAGE_LOAD_CONFIG_DIRECTORY64 = POINTER(_IMAGE_LOAD_CONFIG_DIRECTORY64)
|
||||
|
||||
SC_STATUS_PROCESS_INFO = EnumValue("_SC_STATUS_TYPE", "SC_STATUS_PROCESS_INFO", 0x0)
|
||||
class _SC_STATUS_TYPE(EnumType):
|
||||
values = [SC_STATUS_PROCESS_INFO]
|
||||
@@ -4652,192 +4993,6 @@ class _LDR_DATA_TABLE_ENTRY(Structure):
|
||||
PLDR_DATA_TABLE_ENTRY = POINTER(_LDR_DATA_TABLE_ENTRY)
|
||||
LDR_DATA_TABLE_ENTRY = _LDR_DATA_TABLE_ENTRY
|
||||
|
||||
class _IMAGE_FILE_HEADER(Structure):
|
||||
_fields_ = [
|
||||
("Machine", WORD),
|
||||
("NumberOfSections", WORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("PointerToSymbolTable", DWORD),
|
||||
("NumberOfSymbols", DWORD),
|
||||
("SizeOfOptionalHeader", WORD),
|
||||
("Characteristics", WORD),
|
||||
]
|
||||
IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER
|
||||
PIMAGE_FILE_HEADER = POINTER(_IMAGE_FILE_HEADER)
|
||||
|
||||
class _IMAGE_DATA_DIRECTORY(Structure):
|
||||
_fields_ = [
|
||||
("VirtualAddress", DWORD),
|
||||
("Size", DWORD),
|
||||
]
|
||||
IMAGE_DATA_DIRECTORY = _IMAGE_DATA_DIRECTORY
|
||||
PIMAGE_DATA_DIRECTORY = POINTER(_IMAGE_DATA_DIRECTORY)
|
||||
|
||||
class _IMAGE_SECTION_HEADER(Structure):
|
||||
_fields_ = [
|
||||
("Name", BYTE * (IMAGE_SIZEOF_SHORT_NAME)),
|
||||
("VirtualSize", DWORD),
|
||||
("VirtualAddress", DWORD),
|
||||
("SizeOfRawData", DWORD),
|
||||
("PointerToRawData", DWORD),
|
||||
("PointerToRelocations", DWORD),
|
||||
("PointerToLinenumbers", DWORD),
|
||||
("NumberOfRelocations", WORD),
|
||||
("NumberOfLinenumbers", WORD),
|
||||
("Characteristics", DWORD),
|
||||
]
|
||||
PIMAGE_SECTION_HEADER = POINTER(_IMAGE_SECTION_HEADER)
|
||||
IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER
|
||||
|
||||
class _IMAGE_OPTIONAL_HEADER64(Structure):
|
||||
_fields_ = [
|
||||
("Magic", WORD),
|
||||
("MajorLinkerVersion", BYTE),
|
||||
("MinorLinkerVersion", BYTE),
|
||||
("SizeOfCode", DWORD),
|
||||
("SizeOfInitializedData", DWORD),
|
||||
("SizeOfUninitializedData", DWORD),
|
||||
("AddressOfEntryPoint", DWORD),
|
||||
("BaseOfCode", DWORD),
|
||||
("ImageBase", ULONGLONG),
|
||||
("SectionAlignment", DWORD),
|
||||
("FileAlignment", DWORD),
|
||||
("MajorOperatingSystemVersion", WORD),
|
||||
("MinorOperatingSystemVersion", WORD),
|
||||
("MajorImageVersion", WORD),
|
||||
("MinorImageVersion", WORD),
|
||||
("MajorSubsystemVersion", WORD),
|
||||
("MinorSubsystemVersion", WORD),
|
||||
("Win32VersionValue", DWORD),
|
||||
("SizeOfImage", DWORD),
|
||||
("SizeOfHeaders", DWORD),
|
||||
("CheckSum", DWORD),
|
||||
("Subsystem", WORD),
|
||||
("DllCharacteristics", WORD),
|
||||
("SizeOfStackReserve", ULONGLONG),
|
||||
("SizeOfStackCommit", ULONGLONG),
|
||||
("SizeOfHeapReserve", ULONGLONG),
|
||||
("SizeOfHeapCommit", ULONGLONG),
|
||||
("LoaderFlags", DWORD),
|
||||
("NumberOfRvaAndSizes", DWORD),
|
||||
("DataDirectory", IMAGE_DATA_DIRECTORY * (IMAGE_NUMBEROF_DIRECTORY_ENTRIES)),
|
||||
]
|
||||
PIMAGE_OPTIONAL_HEADER64 = POINTER(_IMAGE_OPTIONAL_HEADER64)
|
||||
IMAGE_OPTIONAL_HEADER64 = _IMAGE_OPTIONAL_HEADER64
|
||||
|
||||
class _IMAGE_OPTIONAL_HEADER(Structure):
|
||||
_fields_ = [
|
||||
("Magic", WORD),
|
||||
("MajorLinkerVersion", BYTE),
|
||||
("MinorLinkerVersion", BYTE),
|
||||
("SizeOfCode", DWORD),
|
||||
("SizeOfInitializedData", DWORD),
|
||||
("SizeOfUninitializedData", DWORD),
|
||||
("AddressOfEntryPoint", DWORD),
|
||||
("BaseOfCode", DWORD),
|
||||
("BaseOfData", DWORD),
|
||||
("ImageBase", DWORD),
|
||||
("SectionAlignment", DWORD),
|
||||
("FileAlignment", DWORD),
|
||||
("MajorOperatingSystemVersion", WORD),
|
||||
("MinorOperatingSystemVersion", WORD),
|
||||
("MajorImageVersion", WORD),
|
||||
("MinorImageVersion", WORD),
|
||||
("MajorSubsystemVersion", WORD),
|
||||
("MinorSubsystemVersion", WORD),
|
||||
("Win32VersionValue", DWORD),
|
||||
("SizeOfImage", DWORD),
|
||||
("SizeOfHeaders", DWORD),
|
||||
("CheckSum", DWORD),
|
||||
("Subsystem", WORD),
|
||||
("DllCharacteristics", WORD),
|
||||
("SizeOfStackReserve", DWORD),
|
||||
("SizeOfStackCommit", DWORD),
|
||||
("SizeOfHeapReserve", DWORD),
|
||||
("SizeOfHeapCommit", DWORD),
|
||||
("LoaderFlags", DWORD),
|
||||
("NumberOfRvaAndSizes", DWORD),
|
||||
("DataDirectory", IMAGE_DATA_DIRECTORY * (IMAGE_NUMBEROF_DIRECTORY_ENTRIES)),
|
||||
]
|
||||
PIMAGE_OPTIONAL_HEADER32 = POINTER(_IMAGE_OPTIONAL_HEADER)
|
||||
IMAGE_OPTIONAL_HEADER32 = _IMAGE_OPTIONAL_HEADER
|
||||
|
||||
class _IMAGE_NT_HEADERS64(Structure):
|
||||
_fields_ = [
|
||||
("Signature", DWORD),
|
||||
("FileHeader", IMAGE_FILE_HEADER),
|
||||
("OptionalHeader", IMAGE_OPTIONAL_HEADER64),
|
||||
]
|
||||
PIMAGE_NT_HEADERS64 = POINTER(_IMAGE_NT_HEADERS64)
|
||||
IMAGE_NT_HEADERS64 = _IMAGE_NT_HEADERS64
|
||||
|
||||
class _IMAGE_NT_HEADERS(Structure):
|
||||
_fields_ = [
|
||||
("Signature", DWORD),
|
||||
("FileHeader", IMAGE_FILE_HEADER),
|
||||
("OptionalHeader", IMAGE_OPTIONAL_HEADER32),
|
||||
]
|
||||
IMAGE_NT_HEADERS32 = _IMAGE_NT_HEADERS
|
||||
PIMAGE_NT_HEADERS32 = POINTER(_IMAGE_NT_HEADERS)
|
||||
|
||||
class _IMAGE_IMPORT_DESCRIPTOR(Structure):
|
||||
_fields_ = [
|
||||
("OriginalFirstThunk", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("ForwarderChain", DWORD),
|
||||
("Name", DWORD),
|
||||
("FirstThunk", DWORD),
|
||||
]
|
||||
IMAGE_IMPORT_DESCRIPTOR = _IMAGE_IMPORT_DESCRIPTOR
|
||||
PIMAGE_IMPORT_DESCRIPTOR = POINTER(_IMAGE_IMPORT_DESCRIPTOR)
|
||||
|
||||
class _IMAGE_IMPORT_BY_NAME(Structure):
|
||||
_fields_ = [
|
||||
("Hint", WORD),
|
||||
("Name", BYTE * (1)),
|
||||
]
|
||||
PIMAGE_IMPORT_BY_NAME = POINTER(_IMAGE_IMPORT_BY_NAME)
|
||||
IMAGE_IMPORT_BY_NAME = _IMAGE_IMPORT_BY_NAME
|
||||
|
||||
class _IMAGE_EXPORT_DIRECTORY(Structure):
|
||||
_fields_ = [
|
||||
("Characteristics", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("MajorVersion", WORD),
|
||||
("MinorVersion", WORD),
|
||||
("Name", DWORD),
|
||||
("Base", DWORD),
|
||||
("NumberOfFunctions", DWORD),
|
||||
("NumberOfNames", DWORD),
|
||||
("AddressOfFunctions", DWORD),
|
||||
("AddressOfNames", DWORD),
|
||||
("AddressOfNameOrdinals", DWORD),
|
||||
]
|
||||
IMAGE_EXPORT_DIRECTORY = _IMAGE_EXPORT_DIRECTORY
|
||||
PIMAGE_EXPORT_DIRECTORY = POINTER(_IMAGE_EXPORT_DIRECTORY)
|
||||
|
||||
class _IMAGE_DEBUG_DIRECTORY(Structure):
|
||||
_fields_ = [
|
||||
("Characteristics", DWORD),
|
||||
("TimeDateStamp", DWORD),
|
||||
("MajorVersion", WORD),
|
||||
("MinorVersion", WORD),
|
||||
("Type", DWORD),
|
||||
("SizeOfData", DWORD),
|
||||
("AddressOfRawData", DWORD),
|
||||
("PointerToRawData", DWORD),
|
||||
]
|
||||
PIMAGE_DEBUG_DIRECTORY = POINTER(_IMAGE_DEBUG_DIRECTORY)
|
||||
IMAGE_DEBUG_DIRECTORY = _IMAGE_DEBUG_DIRECTORY
|
||||
|
||||
class _IMAGE_BASE_RELOCATION(Structure):
|
||||
_fields_ = [
|
||||
("VirtualAddress", DWORD),
|
||||
("SizeOfBlock", DWORD),
|
||||
]
|
||||
PIMAGE_BASE_RELOCATION = POINTER(_IMAGE_BASE_RELOCATION)
|
||||
IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION
|
||||
|
||||
class _MEMORY_BASIC_INFORMATION(Structure):
|
||||
_fields_ = [
|
||||
("BaseAddress", PVOID),
|
||||
@@ -5504,30 +5659,6 @@ OSVERSIONINFOEXW = _OSVERSIONINFOEXW
|
||||
POSVERSIONINFOEXW = POINTER(_OSVERSIONINFOEXW)
|
||||
RTL_OSVERSIONINFOEXW = _OSVERSIONINFOEXW
|
||||
|
||||
class _ANON__ANON__OVERLAPPED_SUB_UNION_1_SUB_STRUCTURE_1(Structure):
|
||||
_fields_ = [
|
||||
("Offset", DWORD),
|
||||
("OffsetHigh", DWORD),
|
||||
]
|
||||
|
||||
class _ANON__OVERLAPPED_SUB_UNION_1(Union):
|
||||
_anonymous_ = ("_ANON_OVERLAPPED_DUMMYSTRUCTNAME",)
|
||||
_fields_ = [
|
||||
("_ANON_OVERLAPPED_DUMMYSTRUCTNAME", _ANON__ANON__OVERLAPPED_SUB_UNION_1_SUB_STRUCTURE_1),
|
||||
("Pointer", PVOID),
|
||||
]
|
||||
|
||||
class _OVERLAPPED(Structure):
|
||||
_anonymous_ = ("_ANON_OVERLAPPED_DUMMYUNIONNAME",)
|
||||
_fields_ = [
|
||||
("Internal", ULONG_PTR),
|
||||
("InternalHigh", ULONG_PTR),
|
||||
("_ANON_OVERLAPPED_DUMMYUNIONNAME", _ANON__OVERLAPPED_SUB_UNION_1),
|
||||
("hEvent", HANDLE),
|
||||
]
|
||||
LPOVERLAPPED = POINTER(_OVERLAPPED)
|
||||
OVERLAPPED = _OVERLAPPED
|
||||
|
||||
# Self referencing struct tricks
|
||||
class _EXCEPTION_RECORD(Structure): pass
|
||||
PEXCEPTION_RECORD = POINTER(_EXCEPTION_RECORD)
|
||||
|
||||
@@ -399,7 +399,39 @@ def GetWindowsDirectoryW(lpBuffer, uSize=None):
|
||||
def GetProductInfo(dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType):
|
||||
return GetProductInfo.ctypes_function(dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType)
|
||||
|
||||
## Io
|
||||
|
||||
@Kernel32Proxy()
|
||||
def GetOverlappedResult(hFile, lpOverlapped, lpNumberOfBytesTransferred, bWait):
|
||||
return GetOverlappedResult.ctypes_function(hFile, lpOverlapped, lpNumberOfBytesTransferred, bWait)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def CreateIoCompletionPort(FileHandle, ExistingCompletionPort, CompletionKey, NumberOfConcurrentThreads):
|
||||
return CreateIoCompletionPort.ctypes_function(FileHandle, ExistingCompletionPort, CompletionKey, NumberOfConcurrentThreads)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def GetQueuedCompletionStatus(CompletionPort, lpNumberOfBytesTransferred, lpCompletionKey, lpOverlapped, dwMilliseconds):
|
||||
return GetQueuedCompletionStatus.ctypes_function(CompletionPort, lpNumberOfBytesTransferred, lpCompletionKey, lpOverlapped, dwMilliseconds)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def GetQueuedCompletionStatusEx(CompletionPort, lpCompletionPortEntries, ulCount, ulNumEntriesRemoved, dwMilliseconds, fAlertable):
|
||||
return GetQueuedCompletionStatusEx.ctypes_function(CompletionPort, lpCompletionPortEntries, ulCount, ulNumEntriesRemoved, dwMilliseconds, fAlertable)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def PostQueuedCompletionStatus(CompletionPort, dwNumberOfBytesTransferred, dwCompletionKey, lpOverlapped):
|
||||
return PostQueuedCompletionStatus.ctypes_function(CompletionPort, dwNumberOfBytesTransferred, dwCompletionKey, lpOverlapped)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def CancelIo(hFile):
|
||||
return CancelIo.ctypes_function(hFile)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def CancelIoEx(hFile, lpOverlapped):
|
||||
return CancelIoEx.ctypes_function(hFile, lpOverlapped)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def CancelSynchronousIo(hThread):
|
||||
return CancelSynchronousIo.ctypes_function(hThread)
|
||||
|
||||
|
||||
## Other
|
||||
|
||||
Reference in New Issue
Block a user