From a3268ccbe4e64effd016edf83376ac4a7c1d3ae7 Mon Sep 17 00:00:00 2001 From: LiFan <2308045698@qq.com> Date: 星期五, 28 六月 2024 12:24:59 +0800 Subject: [PATCH] update --- jrj/xframe/win32/xfile.hpp | 114 ++++++++++++++++++++------------------------------------- 1 files changed, 40 insertions(+), 74 deletions(-) diff --git a/jrj/xframe/win32/xfile.hpp b/jrj/xframe/win32/xfile.hpp index aa59820..37e1bb1 100644 --- a/jrj/xframe/win32/xfile.hpp +++ b/jrj/xframe/win32/xfile.hpp @@ -5,16 +5,6 @@ #define CALLBACK __stdcall #define MAX_PATH 260 -typedef unsigned short WORD; -typedef unsigned int UINT; -typedef char CHAR; -typedef unsigned char BYTE; -typedef wchar_t WCHAR; -typedef void* HANDLE; -typedef const char* LPCSTR; -typedef void* LPVOID; -typedef DWORD* LPDWORD; -typedef const void* LPCVOID; typedef void* LPSECURITY_ATTRIBUTES; typedef UINT_PTR(CALLBACK* LPOFNHOOKPROC) (HWND, UINT, WPARAM, LPARAM); @@ -81,106 +71,82 @@ WCHAR cAlternateFileName[14]; } WIN32_FIND_DATAW; -typedef struct _OVERLAPPED { - ULONG_PTR Internal; - ULONG_PTR InternalHigh; - union { - struct { - DWORD Offset; - DWORD OffsetHigh; - } DUMMYSTRUCTNAME; - LPVOID Pointer; - } DUMMYUNIONNAME; - HANDLE hEvent; -} OVERLAPPED, * LPOVERLAPPED; - - -#define OFS_MAXPATHNAME 128 -typedef struct _OFSTRUCT { - BYTE cBytes; - BYTE fFixedDisk; - WORD nErrCode; - WORD Reserved1; - WORD Reserved2; - CHAR szPathName[OFS_MAXPATHNAME]; -} OFSTRUCT; extern "C" { - 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 - bool WINAPI FindClose(HANDLE hFindFile); //native from "kernel32.dll" alias "FindClose"; //关闭由FindFirstFile函数创建的一个搜索句柄。返回非零表示成功,零表示失败。会设置GetLastError + 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 + 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"; - 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 GetKeyState(HANDLE nVirtKey); //native from "user32.dll" alias "GetKeyState"; + 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"; + 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"; + } } class xfile { - bool WINAPI GetSaveFileName(OPENFILENAMEW& OpenFileName) +public: + static bool WINAPI GetSaveFileName(OPENFILENAMEW& OpenFileName) { - return GetSaveFileNameW(OpenFileName); + return win32::GetSaveFileNameW(OpenFileName); } - bool WINAPI GetOpenFileName(OPENFILENAMEW& SaveFileName) + static bool WINAPI GetOpenFileName(OPENFILENAMEW& SaveFileName) { - return GetOpenFileName(SaveFileName); + return win32::GetOpenFileNameW(SaveFileName); } - HANDLE WINAPI FindFirstFile(const WCHAR* lpFileName, WIN32_FIND_DATAW& lpFindFileData) + static HANDLE WINAPI FindFirstFile(const WCHAR* lpFileName, WIN32_FIND_DATAW& lpFindFileData) { - return FindFirstFileW(lpFileName, lpFindFileData); + return win32::FindFirstFileW(lpFileName, lpFindFileData); } - HANDLE WINAPI FindNextFile(HANDLE hFindFile, WIN32_FIND_DATAW& lpFindFileData) + static HANDLE WINAPI FindNextFile(HANDLE hFindFile, WIN32_FIND_DATAW& lpFindFileData) { - return FindNextFileW(hFindFile, lpFindFileData); + return win32::FindNextFileW(hFindFile, lpFindFileData); } - bool WINAPI FindClose(HANDLE hFindFile) + static bool WINAPI FindClose(HANDLE hFindFile) { - return FindClose(hFindFile); + return win32::FindClose(hFindFile); } - int WINAPI CreateFile(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) + static int WINAPI CreateFile(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) { - return CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); + return win32::CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); } - int WINAPI OpenFile(LPCSTR lpFileName, OFSTRUCT lpReOpenBuff, UINT wStyle) + static int WINAPI OpenFile(LPCSTR lpFileName, OFSTRUCT lpReOpenBuff, UINT wStyle) { - return OpenFile(lpFileName, lpReOpenBuff, wStyle); + return win32::OpenFile(lpFileName, lpReOpenBuff, wStyle); } - int WINAPI SetFilePointer(HANDLE hFile, LONG lDistanceToMove, LONG* lpDistanceToMoveHigh, DWORD dwMoveMethod) + static int WINAPI SetFilePointer(HANDLE hFile, LONG lDistanceToMove, LONG* lpDistanceToMoveHigh, DWORD dwMoveMethod) { - return SetFilePointer(hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod); + return win32::SetFilePointer(hFile, lDistanceToMove, lpDistanceToMoveHigh, dwMoveMethod); } - int WINAPI ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) + static int WINAPI ReadFile(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) { - return ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); + return win32::ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); } - int WINAPI WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) + static int WINAPI WriteFile(HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped) { - return WriteFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); + return win32::WriteFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped); } - int WINAPI CloseHandle(HANDLE hFile) + static int WINAPI CloseHandle(HANDLE hFile) { - return CloseHandle(hFile); + return win32::CloseHandle(hFile); } - int WINAPI GetFileSize(HANDLE hFile, int lpFileSizeHigh) + static int WINAPI GetFileSize(HANDLE hFile, int lpFileSizeHigh) { - return GetFileSize(hFile, lpFileSizeHigh); - } - int WINAPI GetKeyState(HANDLE nVirtKey) - { - return GetKeyState(nVirtKey); + return win32::GetFileSize(hFile, lpFileSizeHigh); } }; -- Gitblit v1.9.3