網頁

搜尋此網誌

2016年8月9日 星期二

Windows File API

「Windows 有關檔案操作的 API 到底有多少個?」因為這個問題查了 MSDN 而撰寫這篇作為紀錄。

Windows 有關檔案 (file) 操作的 API 目前總共有 130 個,依序字母開頭排序如下:
  1. AddUsersToEncryptedFile
  2. AreFileApisANSI
  3. CancelIo
  4. CancelIoEx
  5. CancelSynchronousIo
  6. CheckNameLegalDOS8Dot3
  7. CloseEncryptedFileRaw
  8. CopyFile
  9. CopyFile2
  10. CopyFile2ProgressRoutine
  11. CopyFileEx
  12. CopyFileTransacted
  13. CopyProgressRoutine
  14. CreateFile
  15. CreateFile2
  16. CreateFileTransacted
  17. CreateHardLink
  18. CreateHardLinkTransacted
  19. CreateIoCompletionPort
  20. CreateSymbolicLink
  21. CreateSymbolicLinkTransacted
  22. DecryptFile
  23. DeleteFile
  24. DeleteFileTransacted
  25. DuplicateEncryptionInfoFile
  26. EncryptFile
  27. EncryptionDisable
  28. ExportCallback
  29. FileEncryptionStatus
  30. FileIOCompletionRoutine
  31. FindClose
  32. FindFirstFile
  33. FindFirstFileEx
  34. FindFirstFileNameTransactedW
  35. FindFirstFileNameW
  36. FindFirstFileTransacted
  37. FindFirstStreamTransactedW
  38. FindFirstStreamW
  39. FindNextFile
  40. FindNextFileNameW
  41. FindNextStreamW
  42. FlushFileBuffers
  43. FreeEncryptionCertificateHashList
  44. GetBinaryType
  45. GetCompressedFileSize
  46. GetCompressedFileSizeTransacted
  47. GetExpandedName
  48. GetFileAttributes
  49. GetFileAttributesEx
  50. GetFileAttributesTransacted
  51. GetFileBandwidthReservation
  52. GetFileInformationByHandle
  53. GetFileInformationByHandleEx
  54. GetFileSize
  55. GetFileSizeEx
  56. GetFileType
  57. GetFinalPathNameByHandle
  58. GetFullPathName
  59. GetFullPathNameTransacted
  60. GetLongPathName
  61. GetLongPathNameTransacted
  62. GetQueuedCompletionStatus
  63. GetQueuedCompletionStatusEx
  64. GetShortPathName
  65. GetTempFileName
  66. GetTempPath
  67. ImportCallback
  68. LockFile
  69. LockFileEx
  70. LZClose
  71. LZCopy
  72. LZInit
  73. LZOpenFile
  74. LZRead
  75. LZSeek
  76. MoveFile
  77. MoveFileEx
  78. MoveFileTransacted
  79. MoveFileWithProgress
  80. OpenEncryptedFileRaw
  81. OpenFile
  82. OpenFileById
  83. PostQueuedCompletionStatus
  84. QueryRecoveryAgentsOnEncryptedFile
  85. QueryUsersOnEncryptedFile
  86. ReadEncryptedFileRaw
  87. ReadFile
  88. ReadFileEx
  89. ReadFileScatter
  90. RemoveUsersFromEncryptedFile
  91. ReOpenFile
  92. ReplaceFile
  93. SearchPath
  94. SetEndOfFile
  95. SetFileApisToANSI
  96. SetFileApisToOEM
  97. SetFileAttributes
  98. SetFileAttributesTransacted
  99. SetFileBandwidthReservation
  100. SetFileCompletionNotificationModes
  101. SetFileInformationByHandle
  102. SetFileIoOverlappedRange
  103. SetFilePointer
  104. SetFilePointerEx
  105. SetFileShortName
  106. SetFileValidData
  107. SetSearchPathMode
  108. SetUserFileEncryptionKey
  109. UnlockFile
  110. UnlockFileEx
  111. WofEnumEntries
  112. WofEnumEntryProc
  113. WofEnumFilesProc
  114. WofFileEnumFiles
  115. WofGetDriverVersion
  116. WofIsExternalFile
  117. WofSetFileDataLocation
  118. WofShouldCompressBinaries
  119. WofWimAddEntry
  120. WofWimEnumFiles
  121. WofWimRemoveEntry
  122. WofWimSuspendEntry
  123. WofWimUpdateEntry
  124. Wow64DisableWow64FsRedirection
  125. Wow64EnableWow64FsRedirection
  126. Wow64RevertWow64FsRedirection
  127. WriteEncryptedFileRaw
  128. WriteFile
  129. WriteFileEx
  130. WriteFileGather
將檔案操作的 API 進行分類整理,可以分成下列幾類:
說到檔案 API 也不能不談到目錄 (directory) 操作的 API ,目前總共有 11 個,依序字母開頭排序如下:
  1. CreateDirectory
  2. CreateDirectoryEx
  3. CreateDirectoryTransacted
  4. FindCloseChangeNotification
  5. FindFirstChangeNotification
  6. FindNextChangeNotification
  7. GetCurrentDirectory
  8. ReadDirectoryChangesW
  9. RemoveDirectory
  10. RemoveDirectoryTransacted
  11. SetCurrentDirectory
將目錄操作的 API 進行分類整理,我們可以分成下列 4 類
參考資料:
###

熱門文章