| | |
| | | #include "system/base.hpp" |
| | | #include "win.hpp" |
| | | |
| | | #if _XWIN |
| | | #define CALLBACK __stdcall |
| | | #define MAX_PATH 260 |
| | | |
| | |
| | | } WIN32_FIND_DATAW; |
| | | |
| | | |
| | | |
| | | extern "C" |
| | | { |
| | | namespace win32 |
| | | { |
| | | bool WINAPI GetSaveFileNameW(OPENFILENAMEW&);//native from "comdlg32.dll" alias "GetSaveFileNameW"; |
| | | bool WINAPI GetOpenFileNameW(OPENFILENAMEW&);//native from "comdlg32.dll" alias "GetOpenFileNameW"; |
| | | //namespace win32 |
| | | //{ |
| | | bool WINAPI GetSaveFileNameW(OPENFILENAMEW*);//native from "comdlg32.dll" alias "GetSaveFileNameW"; |
| | | bool WINAPI GetOpenFileNameW(OPENFILENAMEW*);//native from "comdlg32.dll" alias "GetOpenFileNameW"; |
| | | |
| | | HANDLE WINAPI FindFirstFileW(const WCHAR* lpFileName, WIN32_FIND_DATAW& lpFindFileData); //native from "kernel32.dll" alias "FindFirstFileW"; //根据文件名查找文件,一旦不再需要,应该用FindClose函数关闭这个句柄 |
| | | HANDLE WINAPI FindNextFileW(HANDLE hFindFile, WIN32_FIND_DATAW& lpFindFileData); //native from "kernel32.dll" alias "FindNextFileW"; //继续查找FindFirstFile函数搜索后的文件 ,HANDLE hFindFile搜索的文件句柄 函数执行的时候搜索的是此句柄的下一文件。非零表示成功,零表示失败。如不再有与指定条件相符的文件,会将GetLastError设置成ERROR_NO_MORE_FILES |
| | | HANDLE WINAPI FindFirstFileW(const WCHAR* lpFileName, WIN32_FIND_DATAW* lpFindFileData); //native from "kernel32.dll" alias "FindFirstFileW"; //根据文件名查找文件,一旦不再需要,应该用FindClose函数关闭这个句柄 |
| | | BOOL WINAPI FindNextFileW(HANDLE hFindFile, WIN32_FIND_DATAW* lpFindFileData); //native from "kernel32.dll" alias "FindNextFileW"; //继续查找FindFirstFile函数搜索后的文件 ,HANDLE hFindFile搜索的文件句柄 函数执行的时候搜索的是此句柄的下一文件。非零表示成功,零表示失败。如不再有与指定条件相符的文件,会将GetLastError设置成ERROR_NO_MORE_FILES |
| | | bool WINAPI FindClose(HANDLE hFindFile); //native from "kernel32.dll" alias "FindClose"; //关闭由FindFirstFile函数创建的一个搜索句柄。返回非零表示成功,零表示失败。会设置GetLastError |
| | | |
| | | int WINAPI CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); //native from "kernel32.dll" alias "CreateFileW"; |
| | | int WINAPI OpenFile(LPCSTR lpFileName, OFSTRUCT lpReOpenBuff, UINT wStyle); //native from "kernel32.dll" alias "OpenFile"; |
| | | HANDLE WINAPI CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); //native from "kernel32.dll" alias "CreateFileW"; |
| | | HFILE WINAPI OpenFile(LPCSTR lpFileName, OFSTRUCT* lpReOpenBuff, UINT wStyle); //native from "kernel32.dll" alias "OpenFile"; |
| | | int WINAPI SetFilePointer(HANDLE hFile, LONG lDistanceToMove, LONG* lpDistanceToMoveHigh, DWORD dwMoveMethod); //native from "kernel32.dll" alias "SetFilePointer"; |
| | | int WINAPI ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped); //native from "kernel32.dll" alias "ReadFile"; |
| | | int WINAPI WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped); //native from "kernel32.dll" alias "ReadFile"; |
| | | int WINAPI CloseHandle(HANDLE hFile); //native from "kernel32.dll" alias "CloseHandle"; |
| | | int WINAPI GetFileSize(HANDLE hFile, int lpFileSizeHigh); //native from "kernel32.dll" alias "GetFileSize"; |
| | | } |
| | | int WINAPI GetFileSize(HANDLE hFile, DWORD* lpFileSizeHigh); //native from "kernel32.dll" alias "GetFileSize"; |
| | | //} |
| | | } |
| | | #endif |
| | | |
| | | |
| | | class xfile |
| | | { |
| | | public: |
| | | static bool WINAPI GetSaveFileName(OPENFILENAMEW& OpenFileName) |
| | | static bool GetSaveFileName(OPENFILENAMEW& OpenFileName) |
| | | { |
| | | return win32::GetSaveFileNameW(OpenFileName); |
| | | return ::GetSaveFileNameW(&OpenFileName); |
| | | } |
| | | static bool WINAPI GetOpenFileName(OPENFILENAMEW& SaveFileName) |
| | | static bool GetOpenFileName(OPENFILENAMEW& SaveFileName) |
| | | { |
| | | return win32::GetOpenFileNameW(SaveFileName); |
| | | return ::GetOpenFileNameW(&SaveFileName); |
| | | } |
| | | |
| | | static HANDLE WINAPI FindFirstFile(const WCHAR* lpFileName, WIN32_FIND_DATAW& lpFindFileData) |
| | | static HANDLE FindFirstFile(const WCHAR* lpFileName, WIN32_FIND_DATAW& lpFindFileData) |
| | | { |
| | | return win32::FindFirstFileW(lpFileName, lpFindFileData); |
| | | return ::FindFirstFileW(lpFileName, &lpFindFileData); |
| | | } |
| | | |
| | | static HANDLE WINAPI FindNextFile(HANDLE hFindFile, WIN32_FIND_DATAW& lpFindFileData) |
| | | static BOOL FindNextFile(HANDLE hFindFile, WIN32_FIND_DATAW& lpFindFileData) |
| | | { |
| | | return win32::FindNextFileW(hFindFile, lpFindFileData); |
| | | return ::FindNextFileW(hFindFile, &lpFindFileData); |
| | | } |
| | | static bool WINAPI FindClose(HANDLE hFindFile) |
| | | static bool FindClose(HANDLE hFindFile) |
| | | { |
| | | return win32::FindClose(hFindFile); |
| | | return ::FindClose(hFindFile); |
| | | } |
| | | |
| | | static int WINAPI CreateFile(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) |
| | | static HANDLE CreateFile(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) |
| | | { |
| | | return win32::CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); |
| | | return ::CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); |
| | | } |
| | | |
| | | static int WINAPI OpenFile(LPCSTR lpFileName, OFSTRUCT lpReOpenBuff, UINT wStyle) |
| | | static HFILE OpenFile(LPCSTR lpFileName, OFSTRUCT& lpReOpenBuff, UINT wStyle) |
| | | { |
| | | return win32::OpenFile(lpFileName, lpReOpenBuff, wStyle); |
| | | return ::OpenFile(lpFileName, &lpReOpenBuff, wStyle); |
| | | } |
| | | static int WINAPI SetFilePointer(HANDLE hFile, LONG lDistanceToMove, LONG* lpDistanceToMoveHigh, DWORD dwMoveMethod) |
| | | static int SetFilePointer(HANDLE hFile, LONG lDistanceToMove, LONG* lpDistanceToMoveHigh, DWORD dwMoveMethod) |
| | | { |
| | | return win32::SetFilePointer(hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod); |
| | | return ::SetFilePointer(hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod); |
| | | } |
| | | static int WINAPI ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) |
| | | static int ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) |
| | | { |
| | | return win32::ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); |
| | | return ::ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); |
| | | } |
| | | static int WINAPI WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) |
| | | static int WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) |
| | | { |
| | | return win32::WriteFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); |
| | | return ::WriteFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); |
| | | } |
| | | static int WINAPI CloseHandle(HANDLE hFile) |
| | | static int CloseHandle(HANDLE hFile) |
| | | { |
| | | return win32::CloseHandle(hFile); |
| | | return ::CloseHandle(hFile); |
| | | } |
| | | static int WINAPI GetFileSize(HANDLE hFile, int lpFileSizeHigh) |
| | | static int GetFileSize(HANDLE hFile, DWORD& lpFileSizeHigh) |
| | | { |
| | | return win32::GetFileSize(hFile, lpFileSizeHigh); |
| | | return ::GetFileSize(hFile, &lpFileSizeHigh); |
| | | } |
| | | }; |
| | | |