HRESULT WINAPI CNewMenu::InvokeCommand(LPCMINVOKECOMMANDINFO lpici) { HRESULT hr = E_FAIL; if (LOWORD(lpici->lpVerb) == 0) hr = CreateNewFolder(lpici); else { SHELLNEW_ITEM *pItem = FindItemFromIdOffset(LOWORD(lpici->lpVerb)); if (pItem) hr = CreateNewItem(pItem, lpici); } TRACE("CNewMenu::InvokeCommand %x\n", hr); return hr; }
static int Create_New_Folder_ToHDD(void) //Cоздание папки на диске LG { if(*NameFoFi == 0) return Error1((Lan+184)->msg); //"Недопустимое имя" c_FAT1 = (DWORD *)MyAllocMem(Size_FAT1); //Память под FAT if(c_FAT1 == NULL) return -1; CopyMemory(c_FAT1, FAT1, Size_FAT1); //Скопировали содержимое FAT1 if(Load_Dir() < 0) return -1; //Загрузка кластера каталога if(CreateNewFolder() < 0) return -1; //Создание новой папки на HDD рекордера #if !defined EMULATOR_HDD //Режим эмулятора if(Save_FAT1() < 0) return -1; //Сохранение обновленной FAT первого раздела if(Save_Dir() < 0) return -1; //Сохранение кластера каталога if(Change_Sec67(-1) < 0) return -1; //Внесение изменений в содержимое сектора 67 #endif writeCl++; //Число записанных кластеров ViewSize(); //Показа дискового пространства MyFreeMem(&(void*)c_FAT1); MyFreeMem(&(void*)spisF); return 0; }