@@ -32,13 +32,13 @@ typedef struct _HuaWeiSubItemObject {
3232} HWSUBITEM_OBJ, *PHWSUBITEM_OBJ;
3333
3434
35- static LPCVOID lpItemData = NULL ;
36- static uint32_t u32DataSize = 0 ;
37- static uint32_t u32ItemIdx;
38- static HWND hDlgFmt = NULL ;
39- static PHWSUBITEM_OBJ lpSubItem = NULL ;
40- static PHWSUBITEM_OBJ lpCurrentItem = NULL ;
41- static uint32_t nSubItem = 0 ;
35+ static LPCVOID lpItemData = NULL ;
36+ static uint32_t u32DataSize = 0 ;
37+ static uint32_t u32ItemIdx;
38+ static HWND hDlgFmt = NULL ;
39+ static PHWSUBITEM_OBJ lpSubItem = NULL ;
40+ static PHWSUBITEM_OBJ lpCurrentItem = NULL ;
41+ static uint32_t nSubItem = 0 ;
4242
4343static void Release ()
4444{
@@ -207,14 +207,6 @@ static BOOL UpdateDataView()
207207 return TRUE ;
208208}
209209
210- static void UpdateCurrent () {
211- if (lpCurrentItem == NULL ) return ;
212-
213- if (lpCurrentItem->bIsInit && lpCurrentItem->lpRawData ) {
214-
215- }
216- }
217-
218210static int ImportData_WHWH () {
219211 LPVOID lpData = NULL ;
220212 DWORD dwDataSize = 0 ;
@@ -389,7 +381,7 @@ static int ImportData_UIMG() {
389381 }
390382}
391383
392- static int MakeSubItem (LPVOID lpData, uint32_t maxSize, PHWSUBITEM_OBJ lpSubItem, BOOL align) {
384+ static int MakeSubItem (LPVOID lpData, uint32_t maxSize, PHWSUBITEM_OBJ lpSubItem, BOOL align, BOOL notImage = FALSE ) {
393385 if (lpData == NULL ) return -1 ;
394386 if (maxSize == 0 ) return -2 ;
395387 if (lpSubItem == NULL ) return -3 ;
@@ -411,7 +403,7 @@ static int MakeSubItem(LPVOID lpData, uint32_t maxSize, PHWSUBITEM_OBJ lpSubItem
411403 memcpy_s (MakePointer32 (lpItem, offset), lpSubItem->u32TotalSize - offset, &(lpSubItem->hdrHuaWei ), sizeof (HW_HDR));
412404 offset += sizeof (HW_HDR);
413405
414- if (lpSubItem->bIsImage ) {
406+ if (lpSubItem->bIsImage && notImage == FALSE ) {
415407 memcpy_s (MakePointer32 (lpItem, offset), lpSubItem->u32TotalSize - offset, &(lpSubItem->hdrImage ), sizeof (UIMG_HDR));
416408 offset += sizeof (UIMG_HDR);
417409
@@ -1080,9 +1072,9 @@ INT_PTR CALLBACK DlgProc_AdvDatFmt(HWND hDlg, UINT message, WPARAM wParam, LPARA
10801072 // 导出选中子项目
10811073 case IDC_BTN_EXP_HW_ITEM:
10821074 {
1083- // size_t stOut;
10841075 int ret;
10851076 WCHAR szFile[MAX_PATH] = { 0 };
1077+ // size_t stOut;
10861078 // WCHAR szTemp[MAX_PATH];
10871079
10881080 if (lpCurrentItem == NULL || lpCurrentItem->bIsInit == FALSE ) break ;
@@ -1095,7 +1087,7 @@ INT_PTR CALLBACK DlgProc_AdvDatFmt(HWND hDlg, UINT message, WPARAM wParam, LPARA
10951087 LPVOID lpData = malloc (lpCurrentItem->u32TotalSize );
10961088
10971089 __try {
1098- ret = MakeSubItem (lpData, lpCurrentItem->u32TotalSize , lpCurrentItem, FALSE );
1090+ ret = MakeSubItem (lpData, lpCurrentItem->u32TotalSize , lpCurrentItem, FALSE , TRUE );
10991091
11001092 if (ret < 0 ) {
11011093 SetTooltip (GetDlgItem (hDlg, IDC_LBL_ADF_STATUS), L" 构造子对象失败: [%d]!" , ret);
0 commit comments