// Callback Wrapper\r
//******************************************************************************\r
\r
+#define MyConvEI322PI(EI, strconv) \\r
+ EI * ex = (EI *) _lpEis; \\r
+ \\r
+ piInfo.fiInfo.dwCRC32 = ex->dwCRC; \\r
+ piInfo.fiInfo.tmModify.SetFromDOS(MAKELONG(ex->wTime, ex->wDate)); \\r
+ piInfo.fiInfo.nPackedSize = ex->dwCompressedSize; \\r
+ piInfo.fiInfo.nUnpackedSize = ex->exinfo.dwFileSize; \\r
+ piInfo.fiInfo.eOSType = ex->uOSType; \\r
+ piInfo.fiInfo.wCompressRatio = ex->wRatio; \\r
+ piInfo.fiInfo.szStoredName = strconv(ex->exinfo.szSourceFileName); \\r
+ piInfo.fiInfo.szMethod = strconv(ex->szMode); \\r
+ \\r
+ piInfo.nProcessedSize = ex->exinfo.dwWriteSize; \\r
+ piInfo.fnDestination = wxFileName(strconv(ex->exinfo.szDestFileName));\r
+\r
+#define MyConvEI642PI(EI, strconv) \\r
+ EI * ex = (EI *) _lpEis; \\r
+ \\r
+ piInfo.fiInfo.dwAttribute = ex->dwAttributes; \\r
+ piInfo.fiInfo.dwCRC32 = ex->dwCRC; \\r
+ piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime); \\r
+ piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime); \\r
+ piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime); \\r
+ piInfo.fiInfo.nPackedSize = ex->llCompressedSize; \\r
+ piInfo.fiInfo.nUnpackedSize = ex->llFileSize; \\r
+ piInfo.fiInfo.eOSType = ex->uOSType; \\r
+ piInfo.fiInfo.wCompressRatio = ex->wRatio; \\r
+ piInfo.fiInfo.szStoredName = strconv(ex->exinfo.szSourceFileName); \\r
+ piInfo.fiInfo.szMethod = strconv(ex->szMode); \\r
+ \\r
+ piInfo.nProcessedSize = ex->llWriteSize; \\r
+ piInfo.fnDestination = wxFileName(strconv(ex->exinfo.szDestFileName));\r
+\r
+#define MyConvEM322PI(EM, strconv) \\r
+ EM * ex = (EM *) _lpEis; \\r
+ if (ex->uCommand != COMMAND_EXTRACT) \\r
+ { \\r
+ return TRUE; \\r
+ } \\r
+ \\r
+ piInfo.fiInfo.dwAttribute = ex->dwAttributes; \\r
+ piInfo.fiInfo.dwCRC32 = ex->dwCRC; \\r
+ piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime); \\r
+ piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime); \\r
+ piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime); \\r
+ piInfo.fiInfo.nPackedSize = ex->dwCompressedSize; \\r
+ piInfo.fiInfo.nUnpackedSize = ex->dwOriginalSize; \\r
+ piInfo.fiInfo.eOSType = ex->uOSType; \\r
+ piInfo.fiInfo.wCompressRatio = ex->wRatio; \\r
+ piInfo.fiInfo.szStoredName = strconv(ex->szFileName); \\r
+ piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName); \\r
+ \\r
+ piInfo.fnDestination = wxFileName(strconv(ex->szAddFileName)); \\r
+ g_prProc(TPI_NOTIFY_COMMON, & piInfo);\r
+\r
+#define MyConvEM642PI(EM, strconv) \\r
+ EM * ex = (EM *) _lpEis; \\r
+ if (ex->uCommand != COMMAND_EXTRACT) \\r
+ { \\r
+ return TRUE; \\r
+ } \\r
+ \\r
+ piInfo.fiInfo.dwAttribute = ex->dwAttributes; \\r
+ piInfo.fiInfo.dwCRC32 = ex->dwCRC; \\r
+ piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime); \\r
+ piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime); \\r
+ piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime); \\r
+ piInfo.fiInfo.nPackedSize = ex->llCompressedSize; \\r
+ piInfo.fiInfo.nUnpackedSize = ex->llOriginalSize; \\r
+ piInfo.fiInfo.eOSType = ex->uOSType; \\r
+ piInfo.fiInfo.wCompressRatio = ex->wRatio; \\r
+ piInfo.fiInfo.szStoredName = strconv(ex->szFileName); \\r
+ piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName); \\r
+ \\r
+ piInfo.fnDestination = wxFileName(strconv(ex->szAddFileName)); \\r
+ g_prProc(TPI_NOTIFY_COMMON, & piInfo);\r
+\r
BOOL __stdcall CallbackProc(HWND, unsigned int _uMsg, unsigned int _uState, void * _lpEis)\r
{\r
if (_uMsg != ::RegisterWindowMessage(WM_ARCEXTRACT))\r
{\r
if ((g_LibInfo.fRunning && g_LibInfo.fUnicode) || (g_LibInfoAlt.fRunning && g_LibInfoAlt.fUnicode))\r
{\r
- // 初期化。\r
- EXTRACTINGINFOEXW * ex = (EXTRACTINGINFOEXW *) _lpEis;\r
-\r
- // EXTRACTINGINFOEXW -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmModify.SetFromDOS(MAKELONG(ex->wTime, ex->wDate));\r
- piInfo.fiInfo.nPackedSize = ex->dwCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->exinfo.dwFileSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = WC2String(ex->exinfo.szSourceFileName);\r
- piInfo.fiInfo.szMethod = WC2String(ex->szMode);\r
-\r
// EXTRACTINGINFOEXW -> TPI_PROCESSINFO変換。\r
- piInfo.nProcessedSize = ex->exinfo.dwWriteSize;\r
- piInfo.fnDestination = wxFileName(WC2String(ex->exinfo.szDestFileName));\r
+ MyConvEI322PI(EXTRACTINGINFOEXW, WC2String);\r
}\r
else\r
{\r
- // 初期化。\r
- EXTRACTINGINFOEX * ex = (EXTRACTINGINFOEX *) _lpEis;\r
-\r
- // EXTRACTINGINFOEX -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmModify.SetFromDOS(MAKELONG(ex->wTime, ex->wDate));\r
- piInfo.fiInfo.nPackedSize = ex->dwCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->exinfo.dwFileSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = UTF82String(ex->exinfo.szSourceFileName);\r
- piInfo.fiInfo.szMethod = UTF82String(ex->szMode);\r
-\r
// EXTRACTINGINFOEX -> TPI_PROCESSINFO変換。\r
- piInfo.nProcessedSize = ex->exinfo.dwWriteSize;\r
- piInfo.fnDestination = wxFileName(UTF82String(ex->exinfo.szDestFileName));\r
+ MyConvEI322PI(EXTRACTINGINFOEX, UTF82String);\r
}\r
piInfo.fiInfo.dwAttribute = 0;\r
}\r
{\r
if ((g_LibInfo.fRunning && g_LibInfo.fUnicode) || (g_LibInfoAlt.fRunning && g_LibInfoAlt.fUnicode))\r
{\r
- // 初期化。\r
- EXTRACTINGINFOEX64W * ex = (EXTRACTINGINFOEX64W *) _lpEis;\r
-\r
- // EXTRACTINGINFOEX64W -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwAttribute = ex->dwAttributes;\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime);\r
- piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime);\r
- piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime);\r
- piInfo.fiInfo.nPackedSize = ex->llCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->llFileSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = WC2String(ex->exinfo.szSourceFileName);\r
- piInfo.fiInfo.szMethod = WC2String(ex->szMode);\r
-\r
- // EXTRACTINGINFOEX64 -> TPI_PROCESSINFO変換。\r
- piInfo.nProcessedSize = ex->llWriteSize;\r
- piInfo.fnDestination = wxFileName(WC2String(ex->exinfo.szDestFileName));\r
+ // EXTRACTINGINFOEX64W -> TPI_PROCESSINFO変換。\r
+ MyConvEI642PI(EXTRACTINGINFOEX64W, WC2String);\r
}\r
else\r
{\r
- // 初期化。\r
- EXTRACTINGINFOEX64 * ex = (EXTRACTINGINFOEX64 *) _lpEis;\r
-\r
- // EXTRACTINGINFOEX64 -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwAttribute = ex->dwAttributes;\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime);\r
- piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime);\r
- piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime);\r
- piInfo.fiInfo.nPackedSize = ex->llCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->llFileSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = UTF82String(ex->exinfo.szSourceFileName);\r
- piInfo.fiInfo.szMethod = UTF82String(ex->szMode);\r
-\r
// EXTRACTINGINFOEX64 -> TPI_PROCESSINFO変換。\r
- piInfo.nProcessedSize = ex->llWriteSize;\r
- piInfo.fnDestination = wxFileName(UTF82String(ex->exinfo.szDestFileName));\r
+ MyConvEI642PI(EXTRACTINGINFOEX64, UTF82String);\r
}\r
}\r
piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName);\r
{\r
if ((g_LibInfo.fRunning && g_LibInfo.fUnicode) || (g_LibInfoAlt.fRunning && g_LibInfoAlt.fUnicode))\r
{\r
- // 初期化。\r
- ENUM_MEMBER_INFOW * ex = (ENUM_MEMBER_INFOW *) _lpEis;\r
- if (ex->uCommand != COMMAND_EXTRACT)\r
- {\r
- return TRUE;\r
- }\r
-\r
// ENUM_MEMBER_INFOW -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwAttribute = ex->dwAttributes;\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime);\r
- piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime);\r
- piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime);\r
- piInfo.fiInfo.nPackedSize = ex->dwCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->dwOriginalSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = WC2String(ex->szFileName);\r
- piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName);\r
-\r
- // ENUM_MEMBER_INFOW -> TPI_PROCESSINFO変換。\r
- piInfo.fnDestination = wxFileName(WC2String(ex->szAddFileName));\r
-\r
- // コールバック関数に送信。\r
- g_prProc(TPI_NOTIFY_COMMON, & piInfo);\r
+ MyConvEM322PI(ENUM_MEMBER_INFOW, WC2String);\r
wcsncpy(ex->szAddFileName, piInfo.fnDestination.GetFullPath().c_str(), FNAME_MAX32);\r
}\r
else\r
{\r
- // 初期化。\r
- ENUM_MEMBER_INFO * ex = (ENUM_MEMBER_INFO *) _lpEis;\r
- if (ex->uCommand != COMMAND_EXTRACT)\r
- {\r
- return TRUE;\r
- }\r
-\r
// ENUM_MEMBER_INFO -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwAttribute = ex->dwAttributes;\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime);\r
- piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime);\r
- piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime);\r
- piInfo.fiInfo.nPackedSize = ex->dwCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->dwOriginalSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = UTF82String(ex->szFileName);\r
- piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName);\r
-\r
- // ENUM_MEMBER_INFO -> TPI_PROCESSINFO変換。\r
- piInfo.fnDestination = wxFileName(UTF82String(ex->szAddFileName));\r
-\r
- // コールバック関数に送信。\r
- g_prProc(TPI_NOTIFY_COMMON, & piInfo);\r
+ MyConvEM322PI(ENUM_MEMBER_INFO, UTF82String);\r
strncpy(ex->szAddFileName, piInfo.fnDestination.GetFullPath().ToUTF8(), FNAME_MAX32);\r
}\r
}\r
{\r
if ((g_LibInfo.fRunning && g_LibInfo.fUnicode) || (g_LibInfoAlt.fRunning && g_LibInfoAlt.fUnicode))\r
{\r
- // 初期化。\r
- ENUM_MEMBER_INFO64W * ex = (ENUM_MEMBER_INFO64W *) _lpEis;\r
- if (ex->uCommand != COMMAND_EXTRACT)\r
- {\r
- return TRUE;\r
- }\r
-\r
// ENUM_MEMBER_INFO64W -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwAttribute = ex->dwAttributes;\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime);\r
- piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime);\r
- piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime);\r
- piInfo.fiInfo.nPackedSize = ex->llCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->llOriginalSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = WC2String(ex->szFileName);\r
- piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName);\r
-\r
- // ENUM_MEMBER_INFO64W -> TPI_PROCESSINFO変換。\r
- piInfo.fnDestination = wxFileName(WC2String(ex->szAddFileName));\r
-\r
- // コールバック関数に送信。\r
- g_prProc(TPI_NOTIFY_COMMON, & piInfo);\r
+ MyConvEM642PI(ENUM_MEMBER_INFO64W, WC2String);\r
wcsncpy(ex->szAddFileName, piInfo.fnDestination.GetFullPath().c_str(), FNAME_MAX32);\r
}\r
else\r
{\r
- // 初期化。\r
- ENUM_MEMBER_INFO64 * ex = (ENUM_MEMBER_INFO64 *) _lpEis;\r
- if (ex->uCommand != COMMAND_EXTRACT)\r
- {\r
- return TRUE;\r
- }\r
-\r
// ENUM_MEMBER_INFO64 -> TPI_FILEINFO変換。\r
- piInfo.fiInfo.dwAttribute = ex->dwAttributes;\r
- piInfo.fiInfo.dwCRC32 = ex->dwCRC;\r
- piInfo.fiInfo.tmAccess = FileTimeToWxDateTime(& ex->ftAccessTime);\r
- piInfo.fiInfo.tmCreate = FileTimeToWxDateTime(& ex->ftCreateTime);\r
- piInfo.fiInfo.tmModify = FileTimeToWxDateTime(& ex->ftWriteTime);\r
- piInfo.fiInfo.nPackedSize = ex->llCompressedSize;\r
- piInfo.fiInfo.nUnpackedSize = ex->llOriginalSize;\r
- piInfo.fiInfo.eOSType = ex->uOSType;\r
- piInfo.fiInfo.wCompressRatio = ex->wRatio;\r
- piInfo.fiInfo.szStoredName = UTF82String(ex->szFileName);\r
- piInfo.fiInfo.fnFileName = wxFileName(piInfo.fiInfo.szStoredName);\r
-\r
- // ENUM_MEMBER_INFO64 -> TPI_PROCESSINFO変換。\r
- piInfo.fnDestination = wxFileName(UTF82String(ex->szAddFileName));\r
-\r
- // コールバック関数に送信。\r
- g_prProc(TPI_NOTIFY_COMMON, & piInfo);\r
+ MyConvEM642PI(ENUM_MEMBER_INFO64, UTF82String);\r
strncpy(ex->szAddFileName, piInfo.fnDestination.GetFullPath().ToUTF8(), FNAME_MAX32);\r
}\r
}\r