mirror of
https://github.com/decompals/wibo.git
synced 2025-10-16 07:05:11 +00:00
115 lines
5.7 KiB
C++
115 lines
5.7 KiB
C++
#pragma once
|
|
|
|
#include "common.h"
|
|
#include "minwinbase.h"
|
|
|
|
struct BY_HANDLE_FILE_INFORMATION {
|
|
DWORD dwFileAttributes;
|
|
FILETIME ftCreationTime;
|
|
FILETIME ftLastAccessTime;
|
|
FILETIME ftLastWriteTime;
|
|
DWORD dwVolumeSerialNumber;
|
|
DWORD nFileSizeHigh;
|
|
DWORD nFileSizeLow;
|
|
DWORD nNumberOfLinks;
|
|
DWORD nFileIndexHigh;
|
|
DWORD nFileIndexLow;
|
|
};
|
|
|
|
using PBY_HANDLE_FILE_INFORMATION = BY_HANDLE_FILE_INFORMATION *;
|
|
using LPBY_HANDLE_FILE_INFORMATION = BY_HANDLE_FILE_INFORMATION *;
|
|
|
|
constexpr DWORD CREATE_NEW = 1;
|
|
constexpr DWORD CREATE_ALWAYS = 2;
|
|
constexpr DWORD OPEN_EXISTING = 3;
|
|
constexpr DWORD OPEN_ALWAYS = 4;
|
|
constexpr DWORD TRUNCATE_EXISTING = 5;
|
|
|
|
constexpr DWORD FILE_BEGIN = 0;
|
|
constexpr DWORD FILE_CURRENT = 1;
|
|
constexpr DWORD FILE_END = 2;
|
|
|
|
constexpr DWORD FILE_ATTRIBUTE_READONLY = 0x00000001;
|
|
constexpr DWORD FILE_ATTRIBUTE_HIDDEN = 0x00000002;
|
|
constexpr DWORD FILE_ATTRIBUTE_SYSTEM = 0x00000004;
|
|
constexpr DWORD FILE_ATTRIBUTE_ARCHIVE = 0x00000020;
|
|
constexpr DWORD FILE_ATTRIBUTE_TEMPORARY = 0x00000100;
|
|
constexpr DWORD FILE_ATTRIBUTE_OFFLINE = 0x00001000;
|
|
constexpr DWORD FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000;
|
|
constexpr DWORD FILE_ATTRIBUTE_ENCRYPTED = 0x00004000;
|
|
|
|
constexpr UINT DRIVE_UNKNOWN = 0;
|
|
constexpr UINT DRIVE_NO_ROOT_DIR = 1;
|
|
constexpr UINT DRIVE_REMOVABLE = 2;
|
|
constexpr UINT DRIVE_FIXED = 3;
|
|
constexpr UINT DRIVE_REMOTE = 4;
|
|
constexpr UINT DRIVE_CDROM = 5;
|
|
constexpr UINT DRIVE_RAMDISK = 6;
|
|
|
|
constexpr DWORD FILE_TYPE_UNKNOWN = 0x0000;
|
|
constexpr DWORD FILE_TYPE_DISK = 0x0001;
|
|
constexpr DWORD FILE_TYPE_CHAR = 0x0002;
|
|
constexpr DWORD FILE_TYPE_PIPE = 0x0003;
|
|
|
|
constexpr DWORD INVALID_FILE_ATTRIBUTES = 0xFFFFFFFF;
|
|
constexpr DWORD INVALID_FILE_SIZE = 0xFFFFFFFF;
|
|
|
|
namespace kernel32 {
|
|
|
|
DWORD WIN_FUNC GetFullPathNameA(LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart);
|
|
DWORD WIN_FUNC GetFullPathNameW(LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart);
|
|
DWORD WIN_FUNC GetShortPathNameA(LPCSTR lpszLongPath, LPSTR lpszShortPath, DWORD cchBuffer);
|
|
DWORD WIN_FUNC GetShortPathNameW(LPCWSTR lpszLongPath, LPWSTR lpszShortPath, DWORD cchBuffer);
|
|
UINT WIN_FUNC GetTempFileNameA(LPCSTR lpPathName, LPCSTR lpPrefixString, UINT uUnique, LPSTR lpTempFileName);
|
|
DWORD WIN_FUNC GetTempPathA(DWORD nBufferLength, LPSTR lpBuffer);
|
|
HANDLE WIN_FUNC FindFirstFileA(LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData);
|
|
HANDLE WIN_FUNC FindFirstFileW(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData);
|
|
HANDLE WIN_FUNC FindFirstFileExA(LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData,
|
|
FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags);
|
|
BOOL WIN_FUNC FindNextFileA(HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData);
|
|
BOOL WIN_FUNC FindNextFileW(HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData);
|
|
BOOL WIN_FUNC FindClose(HANDLE hFindFile);
|
|
DWORD WIN_FUNC GetFileAttributesA(LPCSTR lpFileName);
|
|
DWORD WIN_FUNC GetFileAttributesW(LPCWSTR lpFileName);
|
|
UINT WIN_FUNC GetDriveTypeA(LPCSTR lpRootPathName);
|
|
UINT WIN_FUNC GetDriveTypeW(LPCWSTR lpRootPathName);
|
|
BOOL WIN_FUNC WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten,
|
|
LPOVERLAPPED lpOverlapped);
|
|
BOOL WIN_FUNC ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead,
|
|
LPOVERLAPPED lpOverlapped);
|
|
BOOL WIN_FUNC FlushFileBuffers(HANDLE hFile);
|
|
HANDLE WIN_FUNC CreateFileA(LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode,
|
|
LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition,
|
|
DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
|
|
HANDLE WIN_FUNC CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode,
|
|
LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition,
|
|
DWORD dwFlagsAndAttributes, HANDLE hTemplateFile);
|
|
BOOL WIN_FUNC DeleteFileA(LPCSTR lpFileName);
|
|
BOOL WIN_FUNC DeleteFileW(LPCWSTR lpFileName);
|
|
BOOL WIN_FUNC MoveFileA(LPCSTR lpExistingFileName, LPCSTR lpNewFileName);
|
|
BOOL WIN_FUNC MoveFileW(LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName);
|
|
DWORD WIN_FUNC SetFilePointer(HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod);
|
|
BOOL WIN_FUNC SetFilePointerEx(HANDLE hFile, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER lpNewFilePointer,
|
|
DWORD dwMoveMethod);
|
|
BOOL WIN_FUNC SetEndOfFile(HANDLE hFile);
|
|
BOOL WIN_FUNC CreateDirectoryA(LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes);
|
|
BOOL WIN_FUNC RemoveDirectoryA(LPCSTR lpPathName);
|
|
BOOL WIN_FUNC SetFileAttributesA(LPCSTR lpFileName, DWORD dwFileAttributes);
|
|
DWORD WIN_FUNC GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh);
|
|
BOOL WIN_FUNC GetFileTime(HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime,
|
|
LPFILETIME lpLastWriteTime);
|
|
BOOL WIN_FUNC SetFileTime(HANDLE hFile, const FILETIME *lpCreationTime, const FILETIME *lpLastAccessTime,
|
|
const FILETIME *lpLastWriteTime);
|
|
BOOL WIN_FUNC GetFileInformationByHandle(HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation);
|
|
DWORD WIN_FUNC GetFileType(HANDLE hFile);
|
|
LONG WIN_FUNC CompareFileTime(const FILETIME *lpFileTime1, const FILETIME *lpFileTime2);
|
|
BOOL WIN_FUNC GetVolumeInformationA(LPCSTR lpRootPathName, LPSTR lpVolumeNameBuffer, DWORD nVolumeNameSize,
|
|
LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength,
|
|
LPDWORD lpFileSystemFlags, LPSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize);
|
|
BOOL WIN_FUNC GetVolumeInformationW(LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize,
|
|
LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength,
|
|
LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer,
|
|
DWORD nFileSystemNameSize);
|
|
|
|
} // namespace kernel32
|