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

📄 ntifs.h

📁 MinGW+MSYS开发必用的api参考
💻 H
📖 第 1 页 / 共 5 页
字号:
/* * ntifs.h * * Windows NT Filesystem Driver Developer Kit * * This file is part of the w32api package. * * Contributors: *   Created by Bo Brant閚 <bosse@acc.umu.se> * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAIMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */#ifndef _NTIFS_#define _NTIFS_#define _GNU_NTIFS_#if __GNUC__ >= 3#pragma GCC system_header#endif#ifdef __cplusplusextern "C" {#endif#include "ntddk.h"#include "ntapi.h"#define VER_PRODUCTBUILD 10000#ifndef NTSYSAPI#define NTSYSAPI#endif#ifndef NTKERNELAPI#define NTKERNELAPI STDCALL#endiftypedef struct _SE_EXPORTS                  *PSE_EXPORTS;extern PUCHAR                       *FsRtlLegalAnsiCharacterArray;extern PSE_EXPORTS                  SeExports;extern PACL                         SePublicDefaultDacl;extern PACL                         SeSystemDefaultDacl;#define ANSI_DOS_STAR                   ('<')#define ANSI_DOS_QM                     ('>')#define ANSI_DOS_DOT                    ('"')#define DOS_STAR                        (L'<')#define DOS_QM                          (L'>')#define DOS_DOT                         (L'"')/* also in winnt.h */#define ACCESS_ALLOWED_ACE_TYPE         (0x0)#define ACCESS_DENIED_ACE_TYPE          (0x1)#define SYSTEM_AUDIT_ACE_TYPE           (0x2)#define SYSTEM_ALARM_ACE_TYPE           (0x3) #define COMPRESSION_FORMAT_NONE         (0x0000)#define COMPRESSION_FORMAT_DEFAULT      (0x0001)#define COMPRESSION_FORMAT_LZNT1        (0x0002)#define COMPRESSION_ENGINE_STANDARD     (0x0000)#define COMPRESSION_ENGINE_MAXIMUM      (0x0100)#define COMPRESSION_ENGINE_HIBER        (0x0200)#define FILE_ACTION_ADDED                   0x00000001#define FILE_ACTION_REMOVED                 0x00000002#define FILE_ACTION_MODIFIED                0x00000003#define FILE_ACTION_RENAMED_OLD_NAME        0x00000004#define FILE_ACTION_RENAMED_NEW_NAME        0x00000005#define FILE_ACTION_ADDED_STREAM            0x00000006#define FILE_ACTION_REMOVED_STREAM          0x00000007#define FILE_ACTION_MODIFIED_STREAM         0x00000008#define FILE_ACTION_REMOVED_BY_DELETE       0x00000009#define FILE_ACTION_ID_NOT_TUNNELLED        0x0000000A#define FILE_ACTION_TUNNELLED_ID_COLLISION  0x0000000B/* end  winnt.h */#define FILE_EA_TYPE_BINARY             0xfffe#define FILE_EA_TYPE_ASCII              0xfffd#define FILE_EA_TYPE_BITMAP             0xfffb#define FILE_EA_TYPE_METAFILE           0xfffa#define FILE_EA_TYPE_ICON               0xfff9#define FILE_EA_TYPE_EA                 0xffee#define FILE_EA_TYPE_MVMT               0xffdf#define FILE_EA_TYPE_MVST               0xffde#define FILE_EA_TYPE_ASN1               0xffdd#define FILE_EA_TYPE_FAMILY_IDS         0xff01#define FILE_NEED_EA                    0x00000080/* also in winnt.h */#define FILE_NOTIFY_CHANGE_FILE_NAME    0x00000001#define FILE_NOTIFY_CHANGE_DIR_NAME     0x00000002#define FILE_NOTIFY_CHANGE_NAME         0x00000003#define FILE_NOTIFY_CHANGE_ATTRIBUTES   0x00000004#define FILE_NOTIFY_CHANGE_SIZE         0x00000008#define FILE_NOTIFY_CHANGE_LAST_WRITE   0x00000010#define FILE_NOTIFY_CHANGE_LAST_ACCESS  0x00000020#define FILE_NOTIFY_CHANGE_CREATION     0x00000040#define FILE_NOTIFY_CHANGE_EA           0x00000080#define FILE_NOTIFY_CHANGE_SECURITY     0x00000100#define FILE_NOTIFY_CHANGE_STREAM_NAME  0x00000200#define FILE_NOTIFY_CHANGE_STREAM_SIZE  0x00000400#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800#define FILE_NOTIFY_VALID_MASK          0x00000fff/* end winnt.h */#define FILE_OPLOCK_BROKEN_TO_LEVEL_2   0x00000007#define FILE_OPLOCK_BROKEN_TO_NONE      0x00000008#define FILE_OPBATCH_BREAK_UNDERWAY     0x00000009#define FILE_CASE_SENSITIVE_SEARCH      0x00000001#define FILE_CASE_PRESERVED_NAMES       0x00000002#define FILE_UNICODE_ON_DISK            0x00000004#define FILE_PERSISTENT_ACLS            0x00000008#define FILE_FILE_COMPRESSION           0x00000010#define FILE_VOLUME_QUOTAS              0x00000020#define FILE_SUPPORTS_SPARSE_FILES      0x00000040#define FILE_SUPPORTS_REPARSE_POINTS    0x00000080#define FILE_SUPPORTS_REMOTE_STORAGE    0x00000100#define FS_LFN_APIS                     0x00004000#define FILE_VOLUME_IS_COMPRESSED       0x00008000#define FILE_SUPPORTS_OBJECT_IDS        0x00010000#define FILE_SUPPORTS_ENCRYPTION        0x00020000#define FILE_NAMED_STREAMS              0x00040000#define FILE_READ_ONLY_VOLUME           0x00080000#define FILE_PIPE_BYTE_STREAM_TYPE      0x00000000#define FILE_PIPE_MESSAGE_TYPE          0x00000001#define FILE_PIPE_BYTE_STREAM_MODE      0x00000000#define FILE_PIPE_MESSAGE_MODE          0x00000001#define FILE_PIPE_QUEUE_OPERATION       0x00000000#define FILE_PIPE_COMPLETE_OPERATION    0x00000001#define FILE_PIPE_INBOUND               0x00000000#define FILE_PIPE_OUTBOUND              0x00000001#define FILE_PIPE_FULL_DUPLEX           0x00000002#define FILE_PIPE_DISCONNECTED_STATE    0x00000001#define FILE_PIPE_LISTENING_STATE       0x00000002#define FILE_PIPE_CONNECTED_STATE       0x00000003#define FILE_PIPE_CLOSING_STATE         0x00000004#define FILE_PIPE_CLIENT_END            0x00000000#define FILE_PIPE_SERVER_END            0x00000001#define FILE_PIPE_READ_DATA             0x00000000#define FILE_PIPE_WRITE_SPACE           0x00000001#define FILE_STORAGE_TYPE_SPECIFIED             0x00000041  /* FILE_DIRECTORY_FILE | FILE_NON_DIRECTORY_FILE */#define FILE_STORAGE_TYPE_DEFAULT               (StorageTypeDefault << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_DIRECTORY             (StorageTypeDirectory << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_FILE                  (StorageTypeFile << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_DOCFILE               (StorageTypeDocfile << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_JUNCTION_POINT        (StorageTypeJunctionPoint << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_CATALOG               (StorageTypeCatalog << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_STRUCTURED_STORAGE    (StorageTypeStructuredStorage << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_EMBEDDING             (StorageTypeEmbedding << FILE_STORAGE_TYPE_SHIFT)#define FILE_STORAGE_TYPE_STREAM                (StorageTypeStream << FILE_STORAGE_TYPE_SHIFT)#define FILE_MINIMUM_STORAGE_TYPE               FILE_STORAGE_TYPE_DEFAULT#define FILE_MAXIMUM_STORAGE_TYPE               FILE_STORAGE_TYPE_STREAM#define FILE_STORAGE_TYPE_MASK                  0x000f0000#define FILE_STORAGE_TYPE_SHIFT                 16#define FILE_VC_QUOTA_NONE              0x00000000#define FILE_VC_QUOTA_TRACK             0x00000001#define FILE_VC_QUOTA_ENFORCE           0x00000002#define FILE_VC_QUOTA_MASK              0x00000003#define FILE_VC_QUOTAS_LOG_VIOLATIONS   0x00000004#define FILE_VC_CONTENT_INDEX_DISABLED  0x00000008#define FILE_VC_LOG_QUOTA_THRESHOLD     0x00000010#define FILE_VC_LOG_QUOTA_LIMIT         0x00000020#define FILE_VC_LOG_VOLUME_THRESHOLD    0x00000040#define FILE_VC_LOG_VOLUME_LIMIT        0x00000080#define FILE_VC_QUOTAS_INCOMPLETE       0x00000100#define FILE_VC_QUOTAS_REBUILDING       0x00000200#define FILE_VC_VALID_MASK              0x000003ff#define FSRTL_FLAG_FILE_MODIFIED        (0x01)#define FSRTL_FLAG_FILE_LENGTH_CHANGED  (0x02)#define FSRTL_FLAG_LIMIT_MODIFIED_PAGES (0x04)#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_EX (0x08)#define FSRTL_FLAG_ACQUIRE_MAIN_RSRC_SH (0x10)#define FSRTL_FLAG_USER_MAPPED_FILE     (0x20)#define FSRTL_FLAG_EOF_ADVANCE_ACTIVE   (0x80)#define FSRTL_FLAG2_DO_MODIFIED_WRITE   (0x01)#define FSRTL_FSP_TOP_LEVEL_IRP         (0x01)#define FSRTL_CACHE_TOP_LEVEL_IRP       (0x02)#define FSRTL_MOD_WRITE_TOP_LEVEL_IRP   (0x03)#define FSRTL_FAST_IO_TOP_LEVEL_IRP     (0x04)#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG    (0x04)#define FSRTL_VOLUME_DISMOUNT           1#define FSRTL_VOLUME_DISMOUNT_FAILED    2#define FSRTL_VOLUME_LOCK               3#define FSRTL_VOLUME_LOCK_FAILED        4#define FSRTL_VOLUME_UNLOCK             5#define FSRTL_VOLUME_MOUNT              6#define FSRTL_WILD_CHARACTER            0x08#ifdef _X86_#define HARDWARE_PTE    HARDWARE_PTE_X86#define PHARDWARE_PTE   PHARDWARE_PTE_X86#else#define HARDWARE_PTE    ULONG#define PHARDWARE_PTE   PULONG#endif#define IO_CHECK_CREATE_PARAMETERS      0x0200#define IO_ATTACH_DEVICE                0x0400#define IO_ATTACH_DEVICE_API            0x80000000/* also in winnt.h */#define IO_COMPLETION_QUERY_STATE       0x0001#define IO_COMPLETION_MODIFY_STATE      0x0002#define IO_COMPLETION_ALL_ACCESS        (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)/* end winnt.h */#define IO_FILE_OBJECT_NON_PAGED_POOL_CHARGE    64#define IO_FILE_OBJECT_PAGED_POOL_CHARGE        1024#define IO_TYPE_APC                     18#define IO_TYPE_DPC                     19#define IO_TYPE_DEVICE_QUEUE            20#define IO_TYPE_EVENT_PAIR              21#define IO_TYPE_INTERRUPT               22#define IO_TYPE_PROFILE                 23#define IRP_BEING_VERIFIED              0x10#define MAILSLOT_CLASS_FIRSTCLASS       1#define MAILSLOT_CLASS_SECONDCLASS      2#define MAILSLOT_SIZE_AUTO              0#define MAP_PROCESS                     1L#define MAP_SYSTEM                      2L#define MEM_DOS_LIM                     0x40000000/* also in winnt.h */#define MEM_IMAGE                       SEC_IMAGE/* end winnt.h */ #define OB_TYPE_TYPE                    1#define OB_TYPE_DIRECTORY               2#define OB_TYPE_SYMBOLIC_LINK           3#define OB_TYPE_TOKEN                   4#define OB_TYPE_PROCESS                 5#define OB_TYPE_THREAD                  6#define OB_TYPE_EVENT                   7#define OB_TYPE_EVENT_PAIR              8#define OB_TYPE_MUTANT                  9#define OB_TYPE_SEMAPHORE               10#define OB_TYPE_TIMER                   11#define OB_TYPE_PROFILE                 12#define OB_TYPE_WINDOW_STATION          13#define OB_TYPE_DESKTOP                 14#define OB_TYPE_SECTION                 15#define OB_TYPE_KEY                     16#define OB_TYPE_PORT                    17#define OB_TYPE_ADAPTER                 18#define OB_TYPE_CONTROLLER              19#define OB_TYPE_DEVICE                  20#define OB_TYPE_DRIVER                  21#define OB_TYPE_IO_COMPLETION           22#define OB_TYPE_FILE                    23#define PIN_WAIT                        (1)#define PIN_EXCLUSIVE                   (2)#define PIN_NO_READ                     (4)#define PIN_IF_BCB                      (8)#define PORT_CONNECT                    0x0001#define PORT_ALL_ACCESS                 (STANDARD_RIGHTS_ALL |\                                         PORT_CONNECT)/* also in winnt.h */#define SEC_BASED	0x00200000#define SEC_NO_CHANGE	0x00400000#define SEC_FILE	0x00800000#define SEC_IMAGE	0x01000000#define SEC_VLM		0x02000000#define SEC_RESERVE	0x04000000#define SEC_COMMIT	0x08000000#define SEC_NOCACHE	0x10000000#define SECURITY_WORLD_SID_AUTHORITY    {0,0,0,0,0,1}#define SECURITY_WORLD_RID              (0x00000000L)#define SID_REVISION                    1#define TOKEN_ASSIGN_PRIMARY            (0x0001)#define TOKEN_DUPLICATE                 (0x0002)#define TOKEN_IMPERSONATE               (0x0004)#define TOKEN_QUERY                     (0x0008)#define TOKEN_QUERY_SOURCE              (0x0010)#define TOKEN_ADJUST_PRIVILEGES         (0x0020)#define TOKEN_ADJUST_GROUPS             (0x0040)#define TOKEN_ADJUST_DEFAULT            (0x0080)#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\                          TOKEN_ASSIGN_PRIMARY     |\                          TOKEN_DUPLICATE          |\                          TOKEN_IMPERSONATE        |\                          TOKEN_QUERY              |\                          TOKEN_QUERY_SOURCE       |\                          TOKEN_ADJUST_PRIVILEGES  |\                          TOKEN_ADJUST_GROUPS      |\                          TOKEN_ADJUST_DEFAULT)#define TOKEN_READ       (STANDARD_RIGHTS_READ     |\                          TOKEN_QUERY)#define TOKEN_WRITE      (STANDARD_RIGHTS_WRITE    |\                          TOKEN_ADJUST_PRIVILEGES  |\                          TOKEN_ADJUST_GROUPS      |\                          TOKEN_ADJUST_DEFAULT)#define TOKEN_EXECUTE    (STANDARD_RIGHTS_EXECUTE)#define TOKEN_SOURCE_LENGTH 8/* end winnt.h */#define TOKEN_HAS_TRAVERSE_PRIVILEGE    0x01#define TOKEN_HAS_BACKUP_PRIVILEGE      0x02#define TOKEN_HAS_RESTORE_PRIVILEGE     0x04#define TOKEN_HAS_ADMIN_GROUP           0x08#define TOKEN_IS_RESTRICTED             0x10#define VACB_MAPPING_GRANULARITY        (0x40000)#define VACB_OFFSET_SHIFT               (18)#define FSCTL_REQUEST_OPLOCK_LEVEL_1    CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  0, METHOD_BUFFERED, FILE_ANY_ACCESS)

⌨️ 快捷键说明

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