20 #ifndef INVALID_HANDLE_VALUE
21 #define INVALID_HANDLE_VALUE (0xFFFFFFFF)
24 #ifndef INVALID_SET_FILE_POINTER
25 #define INVALID_SET_FILE_POINTER ((DWORD)-1)
44 DWORD* lpdwDesiredAccess,
45 DWORD* lpdwCreationDisposition,
47 DWORD* lpdwFlagsAndAttributes)
49 *lpdwDesiredAccess = *lpdwShareMode = *lpdwFlagsAndAttributes = *lpdwCreationDisposition = 0;
53 *lpdwDesiredAccess = GENERIC_READ;
54 *lpdwCreationDisposition = OPEN_EXISTING;
55 *lpdwShareMode = FILE_SHARE_READ;
59 *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
60 *lpdwCreationDisposition = OPEN_EXISTING;
64 *lpdwDesiredAccess = GENERIC_WRITE | GENERIC_READ;
65 *lpdwCreationDisposition = CREATE_ALWAYS;
90 const char* mode_fopen = NULL;
91 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
96 if ((filename!=NULL) && (dwDesiredAccess != 0))
97 hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
105 const char* mode_fopen = NULL;
106 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
111 if ((filename!=NULL) && (dwDesiredAccess != 0))
112 hFile = CreateFileA((LPCSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
120 const char* mode_fopen = NULL;
121 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
126 if ((filename!=NULL) && (dwDesiredAccess != 0))
127 hFile = CreateFileW((LPCWSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
135 const char* mode_fopen = NULL;
136 DWORD dwDesiredAccess,dwCreationDisposition,dwShareMode,dwFlagsAndAttributes ;
141 if ((filename!=NULL) && (dwDesiredAccess != 0))
142 hFile = CreateFile((LPCTSTR)filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL);
157 if (!ReadFile(hFile, buf, size, &ret, NULL))
159 DWORD dwErr = GetLastError();
160 if (dwErr == ERROR_HANDLE_EOF)
179 if (!WriteFile(hFile, buf, size, &ret, NULL))
181 DWORD dwErr = GetLastError();
182 if (dwErr == ERROR_HANDLE_EOF)
199 DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT);
202 DWORD dwErr = GetLastError();
223 li.u.LowPart = SetFilePointer(hFile, li.u.LowPart, &li.u.HighPart, FILE_CURRENT);
224 if ( (li.LowPart == 0xFFFFFFFF) && (GetLastError() != NO_ERROR))
226 DWORD dwErr = GetLastError();
239 DWORD dwMoveMethod=0xFFFFFFFF;
248 dwMoveMethod = FILE_CURRENT;
251 dwMoveMethod = FILE_END;
254 dwMoveMethod = FILE_BEGIN;
261 DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod);
264 DWORD dwErr = GetLastError();
276 DWORD dwMoveMethod=0xFFFFFFFF;
286 dwMoveMethod = FILE_CURRENT;
289 dwMoveMethod = FILE_END;
292 dwMoveMethod = FILE_BEGIN;
299 LARGE_INTEGER* li = (LARGE_INTEGER*)&offset;
300 DWORD dwSet = SetFilePointer(hFile, li->u.LowPart, &li->u.HighPart, dwMoveMethod);
303 DWORD dwErr = GetLastError();
350 pzlib_filefunc_def->
opaque = NULL;
362 pzlib_filefunc_def->
opaque = NULL;
375 pzlib_filefunc_def->
opaque = NULL;
388 pzlib_filefunc_def->
opaque = NULL;