97 DWORD dwDesiredAccess = 0;
98 DWORD dwCreationDisposition = 0;
131 dwCreationDisposition,
140 DWORD dwBytesRead = 0;
144 dwBytesRead = (
DWORD) -1
L;
152 DWORD dwBytesWritten = 0;
156 dwBytesWritten = (
DWORD) -1;
159 return dwBytesWritten;
182 CStringW szExtractDir, szCabFileName;
188 if (szCabFileName.
Find(
'\\') >= 0)
190 CStringW szNewDirName = szExtractDir;
194 while (szCabFileName.
Find(
'\\', nTokenPos) >= 0)
200 szNewDirName +=
L"\\" +
token;
212 CStringW szNewFileName = szExtractDir +
L"\\" + szCabFileName;
225 iResult = !fnFileClose(pfdin->hf);
306 if (!pfnFDICreate || !pfnFDICopy || !pfnFDIDestroy)
313 ExtractHandler = pfnFDICreate(fnMemAlloc,
344 szCabNameUTF8 =
"\\" + szCabNameUTF8;
346 bResult = pfnFDICopy(ExtractHandler,
355 pfnFDIDestroy(ExtractHandler);
INT_PTR(__cdecl * PFNFDINOTIFY)(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pfdin)
BOOL WINAPI CreateDirectoryW(IN LPCWSTR lpPathName, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
BOOL ExtractFilesFromCab(const ATL::CStringW &szCabName, const ATL::CStringW &szCabDir, const ATL::CStringW &szOutputDir)
#define WideCharToMultiByte
#define UNREFERENCED_PARAMETER(P)
BOOL(* fnFDIDestroy)(HFDI)
int(__cdecl * PFNFDIDECRYPT)(PFDIDECRYPT pfdid)
void(__cdecl * PFNFREE)(void *pv)
DWORD WINAPI GetLastError(VOID)
BOOL MultiByteToWide(const CStringA &szSource, CStringW &szDest, UINT Codepage)
void ReleaseBuffer(_In_ int nNewLength=-1)
HFDI(* fnFDICreate)(PFNALLOC, PFNFREE, PFNOPEN, PFNREAD, PFNWRITE, PFNCLOSE, PFNSEEK, int, PERF)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat token
int(__cdecl * PFNCLOSE)(INT_PTR hf)
INT_PTR(__cdecl * PFNOPEN)(char *pszFile, int oflag, int pmode)
BOOL WideToMultiByte(const CStringW &szSource, CStringA &szDest, UINT Codepage)
UINT(__cdecl * PFNREAD)(INT_PTR hf, void *pv, UINT cb)
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
CStringT Tokenize(_In_z_ PCXSTR pszTokens, _Inout_ int &iStart) const
#define FILE_ATTRIBUTE_NORMAL
void *(__cdecl * PFNALLOC)(ULONG cb)
LONG(__cdecl * PFNSEEK)(INT_PTR hf, LONG dist, int seektype)
UINT(__cdecl * PFNWRITE)(INT_PTR hf, void *pv, UINT cb)
#define ReadFile(a, b, c, d, e)
#define MultiByteToWideChar
int Find(_In_ PCXSTR pszSub, _In_opt_ int iStart=0) const
static HMODULE MODULEINFO DWORD cb
BOOL(* fnFDICopy)(HFDI, LPSTR, LPSTR, INT, PFNFDINOTIFY, PFNFDIDECRYPT, void FAR *pvUser)
#define GetProcAddress(x, y)
#define ERROR_ALREADY_EXISTS
#define HeapFree(x, y, z)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *