Desktop Functions:

   Smart Device Functions:

Show Recent Changes
Subscribe (RSS)
Misc. Pages
Helpful Tools
Suggested Reading
Website TODO List
Support Forum
Download Visual Studio Add-In

Terms of Use
Privacy Policy
WINBASE (Constants)

C# Constants:

private const uint CREATE_NEW    = 1;
private const uint CREATE_ALWAYS     = 2;
private const uint OPEN_EXISTING     = 3;
private const uint OPEN_ALWAYS       = 4;
private const uint TRUNCATE_EXISTING = 5;

private const uint FILE_FLAG_WRITE_THROUGH       = 0x80000000;
private const uint FILE_FLAG_OVERLAPPED      = 0x40000000;
private const uint FILE_FLAG_NO_BUFFERING    = 0x20000000;
private const uint FILE_FLAG_RANDOM_ACCESS       = 0x10000000;
private const uint FILE_FLAG_SEQUENTIAL_SCAN     = 0x08000000;
private const uint FILE_FLAG_DELETE_ON_CLOSE     = 0x04000000;
private const uint FILE_FLAG_BACKUP_SEMANTICS    = 0x02000000;
private const uint FILE_FLAG_POSIX_SEMANTICS     = 0x01000000;
private const uint FILE_FLAG_OPEN_REPARSE_POINT  = 0x00200000;
private const uint FILE_FLAG_OPEN_NO_RECALL      = 0x00100000;
private const uint FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000;

private const uint SECURITY_ANONYMOUS      = ((uint)SECURITY_IMPERSONATION_LEVEL.SecurityAnonymous      << 16);
private const uint SECURITY_IDENTIFICATION = ((uint)SECURITY_IMPERSONATION_LEVEL.SecurityIdentification << 16);
private const uint SECURITY_IMPERSONATION  = ((uint)SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation  << 16);
private const uint SECURITY_DELEGATION     = ((uint)SECURITY_IMPERSONATION_LEVEL.SecurityDelegation     << 16);

public const int FSCTL_REQUEST_OPLOCK_LEVEL_1 = 0x00090000;
public const int FSCTL_REQUEST_OPLOCK_LEVEL_2 = 0x00090004;
public const int FSCTL_REQUEST_BATCH_OPLOCK = 0x00090008;
public const int FSCTL_OPLOCK_BREAK_ACKNOWLEDGE = 0x0009000c;
public const int FSCTL_OPBATCH_ACK_CLOSE_PENDING = 0x00090010;
public const int FSCTL_OPLOCK_BREAK_NOTIFY = 0x00090014;
public const int FSCTL_LOCK_VOLUME = 0x00090018;
public const int FSCTL_UNLOCK_VOLUME = 0x0009001c;
public const int FSCTL_DISMOUNT_VOLUME = 0x00090020;
public const int FSCTL_IS_VOLUME_MOUNTED = 0x00090028;
public const int FSCTL_IS_PATHNAME_VALID = 0x0009002c;
public const int FSCTL_MARK_VOLUME_DIRTY = 0x00090030;
public const int FSCTL_QUERY_RETRIEVAL_POINTERS = 0x0009003b;
public const int FSCTL_GET_COMPRESSION = 0x0009003c;
public const int FSCTL_SET_COMPRESSION = 0x00090040;
public const int FSCTL_MARK_AS_SYSTEM_HIVE = 0x0009004f;
public const int FSCTL_OPLOCK_BREAK_ACK_NO_2 = 0x00090050;
public const int FSCTL_INVALIDATE_VOLUMES = 0x00090054;
public const int FSCTL_QUERY_FAT_BPB = 0x00090058;
public const int FSCTL_REQUEST_FILTER_OPLOCK = 0x0009005c;
public const int FSCTL_FILESYSTEM_GET_STATISTICS = 0x00090060;
public const int FSCTL_GET_NTFS_VOLUME_DATA = 0x00090064;
public const int FSCTL_GET_NTFS_FILE_RECORD = 0x00090068;
public const int FSCTL_GET_VOLUME_BITMAP = 0x0009006f;
public const int FSCTL_GET_RETRIEVAL_POINTERS = 0x00090073;
public const int FSCTL_MOVE_FILE = 0x00090074;
public const int FSCTL_IS_VOLUME_DIRTY = 0x00090078;
public const int FSCTL_ALLOW_EXTENDED_DASD_IO = 0x00090083;
public const int FSCTL_FIND_FILES_BY_SID = 0x0009008f;
public const int FSCTL_SET_OBJECT_ID = 0x00090098;
public const int FSCTL_GET_OBJECT_ID = 0x0009009c;
public const int FSCTL_DELETE_OBJECT_ID = 0x000900a0;
public const int FSCTL_SET_REPARSE_POINT = 0x000900a4;
public const int FSCTL_GET_REPARSE_POINT = 0x000900a8;
public const int FSCTL_DELETE_REPARSE_POINT = 0x000900ac;
public const int FSCTL_ENUM_USN_DATA = 0x000900b3;
public const int FSCTL_SECURITY_ID_CHECK = 0x000940b7;
public const int FSCTL_READ_USN_JOURNAL = 0x000900bb;
public const int FSCTL_SET_OBJECT_ID_EXTENDED = 0x000900bc;
public const int FSCTL_CREATE_OR_GET_OBJECT_ID = 0x000900c0;
public const int FSCTL_SET_SPARSE = 0x000900c4;
public const int FSCTL_SET_ZERO_DATA = 0x000980c8;
public const int FSCTL_QUERY_ALLOCATED_RANGES = 0x000940cf;
public const int FSCTL_SET_ENCRYPTION = 0x000900d7;
public const int FSCTL_ENCRYPTION_FSCTL_IO = 0x000900db;
public const int FSCTL_WRITE_RAW_ENCRYPTED = 0x000900df;
public const int FSCTL_READ_RAW_ENCRYPTED = 0x000900e3;
public const int FSCTL_CREATE_USN_JOURNAL = 0x000900e7;
public const int FSCTL_READ_FILE_USN_DATA = 0x000900eb;
public const int FSCTL_WRITE_USN_CLOSE_RECORD = 0x000900ef;
public const int FSCTL_EXTEND_VOLUME = 0x000900f0;
public const int FSCTL_QUERY_USN_JOURNAL = 0x000900f4;
public const int FSCTL_DELETE_USN_JOURNAL = 0x000900f8;
public const int FSCTL_MARK_HANDLE = 0x000900fc;
public const int FSCTL_SIS_COPYFILE = 0x00090100;
public const int FSCTL_SIS_LINK_FILES = 0x0009c104;
public const int FSCTL_HSM_MSG = 0x0009c108;
public const int FSCTL_HSM_DATA = 0x0009c113;
public const int FSCTL_RECALL_FILE = 0x00090117;
public const int FSCTL_READ_FROM_PLEX = 0x0009411e;
public const int FSCTL_FILE_PREFETCH = 0x00090120;

VB Constants:



FSCTL constants are found in WinIoCtl.h, using CTL_CODE()function to Logical OR together FILE_DEVICE_FILE_SYSTEM (9) shifted left 16 places;

a given function number shifted left 2 places;

METHOD_NEITHER (3) or METHOD_BUFFERED (0) which is not shifted;

along with FILE_ANY_ACCESS or FILE_SPECIAL_ACCESS (both are 0) or FILE_READ_ACCESS (1), FILE_WRITE_ACCESS (2) (both are also defined in ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA), or the pair Logically ORed with one another shifted left 14 places.

Thus DeviceType is bits 16-19, Access is bits 14-15, Function is bits 2-9, Method is bits 0-1

Please edit this page!

Do you have...

  • helpful tips?
  • corrections to the existing content?
  • additional languages you want to include?

Select "Edit This Page" on the right hand toolbar and edit it!

Access directly from VS:
Terms of Use
Edit This Page
Find References
Show Printable Version