Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

92 lines
3.2 KiB

  1. /////////////////////////////////////////////////////////////////////////////
  2. // From Ntioapi.h - Start
  3. extern "C" {
  4. typedef LONG NTSTATUS; // From ntdef.h actually
  5. typedef enum _FILE_INFORMATION_CLASS {
  6. // end_wdm
  7. FileDirectoryInformation = 1,
  8. FileFullDirectoryInformation, // 2
  9. FileBothDirectoryInformation, // 3
  10. FileBasicInformation, // 4 wdm
  11. FileStandardInformation, // 5 wdm
  12. FileInternalInformation, // 6
  13. FileEaInformation, // 7
  14. FileAccessInformation, // 8
  15. FileNameInformation, // 9
  16. FileRenameInformation, // 10
  17. FileLinkInformation, // 11
  18. FileNamesInformation, // 12
  19. FileDispositionInformation, // 13
  20. FilePositionInformation, // 14 wdm
  21. FileFullEaInformation, // 15
  22. FileModeInformation, // 16
  23. FileAlignmentInformation, // 17
  24. FileAllInformation, // 18
  25. FileAllocationInformation, // 19
  26. FileEndOfFileInformation, // 20 wdm
  27. FileAlternateNameInformation, // 21
  28. FileStreamInformation, // 22
  29. FilePipeInformation, // 23
  30. FilePipeLocalInformation, // 24
  31. FilePipeRemoteInformation, // 25
  32. FileMailslotQueryInformation, // 26
  33. FileMailslotSetInformation, // 27
  34. FileCompressionInformation, // 28
  35. FileObjectIdInformation, // 29
  36. FileCompletionInformation, // 30
  37. FileMoveClusterInformation, // 31
  38. FileQuotaInformation, // 32
  39. FileReparsePointInformation, // 33
  40. FileNetworkOpenInformation, // 34
  41. FileAttributeTagInformation, // 35
  42. FileTrackingInformation, // 36
  43. FileIdBothDirectoryInformation, // 37
  44. FileIdFullDirectoryInformation, // 38
  45. FileValidDataLengthInformation, // 39
  46. FileShortNameInformation, // 40
  47. FileMaximumInformation
  48. // begin_wdm
  49. } FILE_INFORMATION_CLASS, *PFILE_INFORMATION_CLASS;
  50. typedef struct _FILE_BASIC_INFORMATION { // ntddk wdm nthal
  51. LARGE_INTEGER CreationTime; // ntddk wdm nthal
  52. LARGE_INTEGER LastAccessTime; // ntddk wdm nthal
  53. LARGE_INTEGER LastWriteTime; // ntddk wdm nthal
  54. LARGE_INTEGER ChangeTime; // ntddk wdm nthal
  55. ULONG FileAttributes; // ntddk wdm nthal
  56. } FILE_BASIC_INFORMATION, *PFILE_BASIC_INFORMATION; // ntddk wdm nthal
  57. typedef struct _IO_STATUS_BLOCK {
  58. union {
  59. NTSTATUS Status;
  60. PVOID Pointer;
  61. };
  62. ULONG_PTR Information;
  63. } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
  64. //NTSYSCALLAPI
  65. NTSTATUS
  66. NTAPI
  67. NtSetInformationFile(
  68. IN HANDLE FileHandle,
  69. OUT PIO_STATUS_BLOCK IoStatusBlock,
  70. IN PVOID FileInformation,
  71. IN ULONG Length,
  72. IN FILE_INFORMATION_CLASS FileInformationClass
  73. );
  74. //NTSYSCALLAPI
  75. NTSTATUS
  76. NTAPI
  77. NtFlushBuffersFile(
  78. IN HANDLE FileHandle,
  79. OUT PIO_STATUS_BLOCK IoStatusBlock
  80. );
  81. }
  82. // From Ntioapi.h - End
  83. /////////////////////////////////////////////////////////////////////////////