⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filemgr.c

📁 一个复杂控制SD卡的例子,可以参考应用到手机上.
💻 C
📖 第 1 页 / 共 5 页
字号:
#include "GlobalScrEnum.h"
#include "GlobalMenuItems.h"
#include "CommonScreens.h"
#include "DebugInitDef.h"
#include "HistoryGProt.h"

#include "wgui_datetime.h"
#include "wgui_categories.h"
#include "wgui_categories_fmgr.h"
#include "wgui_categories_multimedia.h"
#include "wgui_categories_inputs.h"
#include "wgui_categories_popup.h"
#include "gdi_include.h"        /* for GDI_ASSERT */
#ifdef __MMI_TOUCH_SCREEN__
#include "wgui_touch_screen.h"
#endif 

#include "FileMgr.h"
#include "DateTimeType.h"
#include "DateTimeGProt.h"
#include "MainMenuDef.h"
#include "GpioInc.h"
#include "IdleAppProt.h"
#include "SimDetectionGexdcl.h"
#include "SimDetectionGprot.h"
#include "ProfileGprots.h"
#include "PhoneSetupGprots.h"
#include "PhoneBookGprot.h"
#include "ToDoListEnum.h"
#include "AlarmDef.h"
#include "SettingProfile.h"     /* error tone */
#include "mdi_datatype.h"
#include "mdi_audio.h"
#include "fat_fs.h"
#include "fmt_struct.h"
#include "Fmt_main.h"
#include "CallManagementGProt.h"
#include "Conversions.h"
#include "MMIThemes.h"
/* Lisen 0623 */
#include "FactoryModeProt.h"
#include "mmiapi.h"

#ifdef __DRM_SUPPORT__
#include "DRM_gprot.h"
#include "wap_ps_struct.h"
#include "wapadp.h"
#include "app_mine.h"
#endif /* __DRM_SUPPORT__ */ 

#if defined (__DRM_SUPPORT__) || defined (__MMI_MMS__)
#include "wapadp.h"
#endif 

#ifdef __MMI_MESSAGES_EMS__
#include "MessagesExDcl.h"
#include "wgui_categories_ems.h"//062706 revise
#endif 
#ifdef __MMI_VCALENDAR__
#include "vCalendar.h"
#endif 
#ifdef __MMI_VCARD__
#include "vCard.h"
#endif 
#ifdef __MMI_PROFILE_EXTMELODY_SUPPORT__
#include "ProfileMgrGProt.h"
#endif 
#ifdef __MMI_RING_COMPOSER__
#include "ComposeRingToneDefs.h"
#include "ComposeRingToneProts.h"       /* for ring tone composer */
#endif /* __MMI_RING_COMPOSER__ */ 

#ifdef __MMI_EBOOK_READER__
#include "EbookDefs.h"
#include "EbookProt.h"
#include "EbookGProt.h"
#include "EbookManager.h"
#endif /* __MMI_EBOOK_READER__ */ 

#ifdef __MMI_SOUND_RECORDER__
#include "SoundRecorderDef.h"
#include "SoundRecorderProt.h"
#endif /* __MMI_SOUND_RECORDER__ */ 
#ifdef __MMI_AUDIO_PLAYER__
#include "AudioPlayerDef.h"
#include "AudioPlayerPlayList.h"
#include "AudioPlayerProt.h"
#endif /* __MMI_AUDIO_PLAYER__ */ 
#ifdef __MMI_AB_REPEATER__
#include "ABRepeaterDef.h"
#include "ABRepeaterProt.h"
#endif /* __MMI_AB_REPEATER__ */ 
#ifdef __MMI_IMAGE_VIEWER__
#include "mmi_features_camera.h"
#include "ImageViewer.h"
#include "ImageViewerResDefs.h"
#endif /* __MMI_IMAGE_VIEWER__ */ 
#ifdef __MMI_VIDEO_PLAYER__
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
/* under construction !*/
#endif /* __MMI_VIDEO_PLAYER__ */ 
#ifdef __MMI_PHOTOEDITOR__
#include "PhotoEditorGprot.h"
#include "SlideShow.h"
#endif 
#ifdef __MMI_IRDA_SUPPORT__
#include "IrdaMMIGprots.h"
#endif 
#ifdef __MMI_OPP_SUPPORT__
#include "OPPMMIGprots.h"
#endif 

#ifdef __J2ME__
#include "JavaAgencyGProt.h"
#endif 
#ifdef __MMI_EMAIL__
#include "EmailAppGProt.h"
#endif 

#ifdef __MMI_FM_RADIO_RECORD__
#include "FMRadioProt.h"
#endif 

#ifdef __MMI_BG_SOUND_EFFECT__
#include "BGSoundGProt.h"
#endif 

#ifdef __OTG_ENABLE__
#include "otg_if.h"
#endif 

#ifdef __USB_IN_NORMAL_MODE__
#include "ExtDeviceDefs.h"
#include "USBDeviceGprot.h"
#endif 

#ifdef __MMI_SWFLASH__
#include "SWFlashDef.h"
#include "SWFlashGProt.h"
#endif /* __MMI_SWFLASH__ */ 

#ifdef __MMI_DOWNLOAD_AGENT__
#include "DLAgentDef.h"
#endif 

#ifdef __MMI_UNIFIED_COMPOSER__
#include "UnifiedMessageGProt.h"
#include "UnifiedComposerGProt.h"
#endif /* __MMI_UNIFIED_COMPOSER__ */

#ifdef __SYNCML_SUPPORT__
#include "SyncMLGprot.h"
#include "SyncMLDef.h"
#endif 

#ifdef __MMI_CSB_BROWSER__
#include "CatScreenBrowserDefs.h"
#include "CatScreenBrowserProts.h"
#endif /* __MMI_CSB_BROWSER__ */

#include "FileManagerGProt.h"
#include "FileMgrStruct.h"
#include "FileManagerDef.h"
#include "ThemeManager.h"
#include  "FunAndGamesDefs.h"

#if defined(__MMI_BROWSER_2__)
#include "BrowserMain.h"
#endif /* __MMI_BROWSER_2__ */

#if defined (__FORMAT_AND_RESTORE_ALL_SUPPORT__)
/*add by fandian for 6223 "*#7777#", same as P699, 2007.12.15*/
#include "SSCStringHandle.h"		  // YANGJIAN SSC_NAND_FORMAT_FAILED + 2006-11-6
#endif

#if defined(__MMI_FWU_VIA_FILE__)
#ifdef __MTK_TARGET__
#include "DrvFlash.h"
#endif
#include "custom_fota.h"
#endif /* __MMI_FWU_VIA_FILE__ */

#if !defined(__FOTA_ENABLE__)
#define FMGR_TYPE_FOTA_FULL_EXT_NAME    "FOT"
#endif

#if defined(__MMI_PICT_BRIDGE_SUPPORT__)
#include "PictBridgeGProt.h"
#endif

#if defined(__MMI_BPP_SUPPORT__)
#include "imageviewer.h"
#include "BTMMICm.h"
#include "BTMMIBppGprot.h"
#endif

#ifdef __MMI_MY_FAVORITE__
#include "MyFavoriteGProt.h"
#endif

#if defined (JATAAYU_SUPPORT) && defined (WAP_SUPPORT)
#include "JBrowserMMIGprots.h"
#endif

#if defined (JATAAYU_SUPPORT) && defined (MMS_SUPPORT)
#include "JMMSGprot.h"
#endif

extern S8 nPrintableStr[];

#ifdef __DRM_SUPPORT__
//#define __FMGR_DRM_UT__
#endif

#ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
S16 g_istheme_folder_created = FALSE;
S8 gtheme_folder_path[(FMGR_MAX_FILE_LEN + 1) * ENCODING_LENGTH];
S8 gtest_theme_file[(FMGR_MAX_FILE_LEN + 1) * ENCODING_LENGTH];
#endif /* __MMI_DOWNLOADABLE_THEMES_SUPPORT__ */ 
#ifdef __MMI_SOUND_RECORDER__
extern U16 mmi_sndrec_get_menuId(void);
#endif 

/******************************************************************/
/* Internal Variable */
/******************************************************************/
fmgr_context_struct g_fmgr_context;
fmgr_context_struct *fmgr_p = &g_fmgr_context;

const fmgr_filter_struct fmgr_filter[FMGR_MAX_FILTER_COUNT] = 
{
    {FMGR_TYPE_BMP, "BMP"},
    {FMGR_TYPE_JPG, "JPG"},
    {FMGR_TYPE_JPEG, "JPEG"},
    {FMGR_TYPE_GIF, "GIF"},
    {FMGR_TYPE_PNG, "PNG"},
    {FMGR_TYPE_EMS, "EMS"},
    {FMGR_TYPE_ANM, "ANM"},
    {FMGR_TYPE_WBMP, "WBMP"},
    {FMGR_TYPE_WBM, "WBM"},
    {FMGR_TYPE_M3D, "M3D"},

    {FMGR_TYPE_IMY, "IMY"},
    {FMGR_TYPE_MID, "MID"},
    {FMGR_TYPE_MIDI, "MIDI"},
    {FMGR_TYPE_WAV, "WAV"},
    {FMGR_TYPE_AMR, "AMR"},
    {FMGR_TYPE_AAC, "AAC"},
    {FMGR_TYPE_DAF, "MP3"},
    {FMGR_TYPE_MP2, "MP2"},
    {FMGR_TYPE_VM, "VM"},
    {FMGR_TYPE_AWB, "AWB"},
    {FMGR_TYPE_AIF, "AIF"},
    {FMGR_TYPE_AIFF, "AIFF"},
    {FMGR_TYPE_AIFC, "AIFC"},
    {FMGR_TYPE_AU, "AU"},
    {FMGR_TYPE_SND, "SND"},
    {FMGR_TYPE_M4A, "M4A"},
    {FMGR_TYPE_MMF, "MMF"},
    {FMGR_TYPE_WMA, "WMA"},

    {FMGR_TYPE_3GP, "3GP"},
    {FMGR_TYPE_MP4, "MP4"},
    {FMGR_TYPE_MPG, "MPG"},
    {FMGR_TYPE_AVI, "AVI"},
    {FMGR_TYPE_3G2, "3G2"},

    {FMGR_TYPE_CMP, "CMP"},

    {FMGR_TYPE_JAD, "JAD"},
    {FMGR_TYPE_JAR, "JAR"},
    {FMGR_TYPE_VCF, "VCF"},
    {FMGR_TYPE_VCS, "VCS"},
    {FMGR_TYPE_LRC, "LRC"},
    {FMGR_TYPE_THEME, "MED"},
    {FMGR_TYPE_SVG, "SVG"},
    {FMGR_TYPE_QRV, "QRV"},
    {FMGR_TYPE_EBOOK_TXT, "TXT"},
    {FMGR_TYPE_EBOOK_PDB, "PDB"},
    {FMGR_TYPE_SDP, "SDP"},
    {FMGR_TYPE_RAM, "RAM"},
    {FMGR_TYPE_DCF, "DCF"},
    {FMGR_TYPE_DM, "DM"},
    {FMGR_TYPE_WML, "WML"},
    {FMGR_TYPE_HTML, "HTML"},
    {FMGR_TYPE_HTM, "HTM"},
    {FMGR_TYPE_XHTML, "XHTML"},
    {FMGR_TYPE_FOTA_FULL, FMGR_TYPE_FOTA_FULL_EXT_NAME},

    {FMGR_TYPE_ODF, "ODF"},
    {FMGR_TYPE_ZDD, "ZDD"},
    {FMGR_TYPE_VIS, "VIS"},
    {FMGR_TYPE_IVIS, "IVIS"},
    {FMGR_TYPE_KVIS, "KVIS"},
    {FMGR_TYPE_MVIS, "MVIS"}
};

/************************************************************************
* Extern Functions
************************************************************************/
#ifdef __DRM_MTK__
extern drm_rights_struct *drm_core_get_rights(FS_HANDLE input);
#endif

#ifdef __MMI_FILE_MANAGER__


/*****************************************************************************
 * FUNCTION
 *  mmi_fmgr_init
 * DESCRIPTION
 *  init FMGR highlight handlers
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void mmi_fmgr_init(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* drive options */
    SetHiliteHandler(MENU_FMGR_DRIVE_OPEN, highlight_fmgr_drive_open);
    SetHiliteHandler(MENU_FMGR_DRIVE_FORMAT, highlight_fmgr_format);
    SetHiliteHandler(MENU_FMGR_DRIVE_CHECK, highlight_fmgr_check_drive);
    SetHiliteHandler(MENU_FMGR_DRIVE_UNMOUNT, highlight_fmgr_unmount);
    SetHiliteHandler(MENU_FMGR_FOLDER_CREATE, highlight_fmgr_create_folder);

    /* select options */
    SetHiliteHandler(MENU_FMGR_SELECT_DONE, highlight_fmgr_app_select);
    SetHiliteHandler(MENU_FMGR_TREE_OPEN, highlight_fmgr_tree_open);
    SetHiliteHandler(MENU_FMGR_TREE_SELECT, highlight_fmgr_tree_copy);

    /* folder options */
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_OPEN, highlight_fmgr_open);
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_RENAME, highlight_fmgr_rename);
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_DELETE, highlight_fmgr_delete);
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_SORT, highlight_fmgr_sort);

    /* file options */
    SetHiliteHandler(MENU_FMGR_IMG_OPTION_VIEW, highlight_fmgr_view_image);
    SetHiliteHandler(MENU_FMGR_IMG_OPTION_EDIT, highlight_fmgr_edit_image);
    SetHiliteHandler(MENU_FMGR_AUD_OPTION_PLAY, highlight_fmgr_play_audio);
    SetHiliteHandler(MENU_FMGR_VID_OPTION_PLAY, highlight_fmgr_play_video);
    SetHiliteHandler(MENU_FMGR_EXE_OPTION_EXECUTE, highlight_fmgr_execute);
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_FORWARD, highlight_fmgr_forward);
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_DETAIL, highlight_fmgr_detail);
#if defined(__MMI_EXIF__)
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_JPG_DETAIL, highlight_fmgr_jpg_detail);
#endif 
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_COPY, highlight_fmgr_copy);
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_MOVE, highlight_fmgr_move);
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_DELETE_ALL, highlight_fmgr_delete_all_file);

#ifdef __MMI_DOWNLOAD_AGENT__
    SetHiliteHandler(MENU_FMGR_DA_OPTION_FORWARD, highlight_fmgr_da_forward);
#endif 

#ifdef __DRM_MTK__
    SetHiliteHandler(MENU_FMGR_DRM_RIGHTS_DETAIL, highlight_fmgr_drm_rights_detail);
    SetHiliteHandler(MENU_FMGR_DRM_RIGHTS_DELETE_ALL_EXPIRED, highlight_fmgr_drm_rights_delete_all_expired);
#endif

    /* sort options */
    SetHiliteHandler(MENU_FMGR_SORT_BY_NAME, highlight_fmgr_sort_by_name);
    SetHiliteHandler(MENU_FMGR_SORT_BY_TYPE, highlight_fmgr_sort_by_type);
    SetHiliteHandler(MENU_FMGR_SORT_BY_TIME, highlight_fmgr_sort_by_time);
    SetHiliteHandler(MENU_FMGR_SORT_BY_SIZE, highlight_fmgr_sort_by_size);
    SetHiliteHandler(MENU_FMGR_SORT_NONE, highlight_fmgr_sort_none);

    /* fwd options */
    SetHiliteHandler(MENU_FMGR_FWD_WALLPAPER, highlight_fmgr_to_wallpaper);
    SetHiliteHandler(MENU_FMGR_FWD_SUB_WALLPAPER, highlight_fmgr_to_sub_wallpaper);
    SetHiliteHandler(MENU_FMGR_FWD_SCREENSAVER, highlight_fmgr_to_screensaver);
    SetHiliteHandler(MENU_FMGR_FWD_POWER_ON, highlight_fmgr_to_power_on_display);
    SetHiliteHandler(MENU_FMGR_FWD_POWER_OFF, highlight_fmgr_to_power_off_display);
    SetHiliteHandler(MENU_FMGR_FWD_PHB, highlight_fmgr_to_phb);
    SetHiliteHandler(MENU_FMGR_FWD_TODOLIST, highlight_fmgr_to_todolist);
    SetHiliteHandler(MENU_FMGR_FWD_SMS, highlight_fmgr_to_sms);
    SetHiliteHandler(MENU_FMGR_FWD_MMS, highlight_fmgr_to_mms);
    SetHiliteHandler(MENU_FMGR_FWD_EMS, highlight_fmgr_to_ems);
    SetHiliteHandler(MENU_FMGR_FWD_EMAIL, highlight_fmgr_to_email);
    SetHiliteHandler(MENU_FMGR_FWD_IRDA, highlight_fmgr_to_irda);
    SetHiliteHandler(MENU_FMGR_FWD_BT, highlight_fmgr_to_bt);
    SetHiliteHandler(MENU_FMGR_FWD_PROFILE, highlight_fmgr_to_profile);
    SetHiliteHandler(MENU_FMGR_FWD_BGSOUND, highlight_fmgr_to_bgsound);

    /* Print options */
#if defined(__MMI_PICT_BRIDGE_SUPPORT__) || defined(__MMI_BPP_SUPPORT__)
    SetHiliteHandler(MENU_FMGR_GEN_OPTION_PRINT, highlight_fmgr_print);

#if defined(__MMI_PICT_BRIDGE_SUPPORT__)
    SetHiliteHandler(MENU_FMGR_PRINT_PICTBRIGE, highlight_fmgr_print_to_pictbrige);
#endif

#if defined(__MMI_BPP_SUPPORT__)
    SetHiliteHandler(MENU_FMGR_PRINT_BLUETOOTH, highlight_fmgr_print_to_bluetooth);
#endif

#endif /* defined(__MMI_PICT_BRIDGE_SUPPORT__) || defined(__MMI_BPP_SUPPORT__) */


    SetHiliteHandler(MENU_FMGR_INPUT_METHOD, highlight_fmgr_input_method);
    /* Added By Alok */
#ifdef __MMI_DOWNLOADABLE_THEMES_SUPPORT__
    SetHiliteHandler(MENU_FMGR_ACTIVATE_THEME, highlight_fmgr_activate_theme);
    SetHiliteHandler(MENU_FMGR_THEME_DELETE, fmgr_theme_delete_highlight);
#endif /* __MMI_DOWNLOADABLE_THEMES_SUPPORT__ */ 

#ifdef __MMI_EBOOK_READER__
    SetHiliteHandler(MENU_FMGR_EBK_OPTION_OPEN, highlight_fmgr_open_ebook);
#endif 

#if defined(__MMI_BROWSER_2__)
    SetHiliteHandler(MENU_FMGR_BOOKMARK_FILE_OPEN, highlight_fmgr_goto_bookmark);
#endif

#ifdef __MMI_SWFLASH__
    SetHiliteHandler(MENU_ID_SWFLASH_OPTION_PLAY, highlight_fmgr_swflash_play);
    SetHiliteHandler(MENU_ID_SWFLASH_OPTION_INFO, highlight_fmgr_swflash_info);
    SetHiliteHandler(MENU_ID_SWFLASH_OPTION_DOWNLOAD, highlight_fmgr_swflash_download);
#endif

#if defined(__DRM_V02__)
    SetHiliteHandler(MENU_FMGR_DRM_OPTION_MUL_ODF_OPEN, highlight_fmgr_open_multi_odf);
#endif

#if defined (__FS_CARD_SUPPORT__)
    SetProtocolEventHandler(fmgr_msdc_plug_in_hdlr, PRT_MMI_FMGR_CARD_PLUG_IN_IND);
    SetProtocolEventHandler(fmgr_msdc_plug_out_hdlr, PRT_MMI_FMGR_CARD_PLUG_OUT_IND);
#endif /* defined (__FS_CARD_SUPPORT__) */ 
#ifdef __OTG_ENABLE__
    SetProtocolEventHandler(fmgr_otg_display_hdlr, PRT_MMI_FMGR_OTG_DISPLAY_IND);
#endif 

    fmgr_init_context();
}


/*****************************************************************************
 * FUNCTION
 *  fmgr_init_context
 * DESCRIPTION
 *  init FMGR context
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void fmgr_init_context(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
    S16 error;
    U8 temp;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    /* init global variable */
    memset(fmgr_p, 0, sizeof(fmgr_context_struct));
    fmgr_p->src_application = APP_FILEMANAGER;  /* idle screen and the menu one
                                                   level upper than FMGR need to
                                                   reset fmgr_p->src_application */
    ReadValue(NVRAM_EF_FMGR_SORT_OPTION_LID, &temp, DS_BYTE, &error);
    if (temp == 0xff)
    {
        fmgr_p->sort_option = FS_NO_SORT;
    }
    else
    {
        fmgr_p->sort_option = temp << 5;
    }

    fmgr_p->is_fmgr_busy = MMI_FALSE;

    fmgr_init_drive();
}


/*****************************************************************************
 * FUNCTION
 *  fmgr_init_drive
 * DESCRIPTION
 *  
 * PARAMETERS
 *  void
 * RETURNS
 *  void
 *****************************************************************************/
void fmgr_init_drive(void)
{
    /*----------------------------------------------------------------*/
    /* Local Variables                                                */
    /*----------------------------------------------------------------*/
#ifdef __DRM_MTK__
    S32 attr;
#endif 
    S8 drive;

    /*----------------------------------------------------------------*/
    /* Code Body                                                      */
    /*----------------------------------------------------------------*/
    fmgr_p->drv_count = 0;
    memset(fmgr_p->drv_list, 0, sizeof(fmgr_p->drv_list));

    /* on target */
    if (((drive = FS_GetDrive(FS_DRIVE_V_NORMAL, 1, FS_NO_ALT_DRIVE)) >= 'A') && (drive <= 'Z'))
    {
        /* Normal 2 existed */
        fmgr_p->drv_count++;
        sprintf((PS8) fmgr_p->drv_list[FMGR_NOR_STORAGE], "%c:\\", drive);

    #ifdef __USB_IN_NORMAL_MODE__
        if (mmi_usb_is_in_mass_storage_mode() &&
            !mmi_usb_is_leaving_ms_mode() 
        #ifndef __USB_IN_NORMAL_MODE_IMPROVE__	
            && mmi_usb_check_path_exported((PS8) fmgr_p->drv_list[FMGR_NOR_STORAGE])
        #endif
            )
        {
            /* the storage is exported to PC */
            memset(fmgr_p->drv_list[FMGR_NOR_STORAGE], 0, sizeof(fmgr_p->drv_list[FMGR_NOR_STORAGE]));
            fmgr_p->drv_count--;

        }
    #endif /* __USB_IN_NORMAL_MODE__ */ 
    }

#ifdef __USB_IN_NORMAL_MODE__
    if (!mmi_usb_is_in_mass_storage_mode() || mmi_usb_is_leaving_ms_mode())
#endif 
    {
        if (((drive = FS_GetDrive(FS_DRIVE_V_NORMAL, 2, FS_NO_ALT_DRIVE)) >= 'A') && (drive <= 'Z'))
        {
            /* Normal 1 existed */
            fmgr_p->drv_count++;
            sprintf((PS8) fmgr_p->drv_list[FMGR_NAND_STORAGE], "%c:\\", drive);
        }
        if (((drive = FS_GetDrive(FS_DRIVE_V_REMOVABLE, 1, FS_NO_ALT_DRIVE)) >= 'A') && (drive <= 'Z'))
        {
            /* Removable existed */
            fmgr_p->drv_count++;
            sprintf((PS8) fmgr_p->drv_list[FMGR_REMOVABLE_STORAGE], "%c:\\", drive);
        }

    #ifdef __OTG_ENABLE__
        {
            U8 i;

            for (i = 0; i < 4; i++)
            {
                if (((drive = FS_GetDrive(FS_DRIVE_V_EXTERNAL, i + 1, FS_NO_ALT_DRIVE)) >= 'A') && (drive <= 'Z'))
                {
                    /* Removable existed */
                    fmgr_p->drv_count++;
                    sprintf((PS8) fmgr_p->drv_list[FMGR_OTG_1_STORAGE + i], "%c:\\", drive);
                }
            }
        }
    #endif /* __OTG_ENABLE__ */ 

    #ifdef __SIM_PLUS__
        {
            U8 i;

            for (i=0; i<4; i++)
            {
                if (((drive = FS_GetDrive(FS_DRIVE_V_SIMPLUS, i + 1, FS_NO_ALT_DRIVE)) >= 'A') && (drive <= 'Z'))
                {
                    /* SIM plush device existed */
                    fmgr_p->drv_count++;
                    sprintf((PS8) fmgr_p->drv_list[FMGR_SIM_PLUS_1_STORAGE + i], "%c:\\", drive);
                }
            }
        }
    #endif
    }

#if 0//def __DRM_MTK__		added chenyang,20071010
    FS_CreateDir(DRM_NOR_PATH);

    FS_CreateDir(DRM_RO_PATH);
    attr = FS_GetAttributes(DRM_RO_PATH);
    if (attr >= FS_NO_ERROR)
    {
        FS_SetAttributes(DRM_RO_PATH, (U8) (attr | FS_ATTR_HIDDEN));
    }

    FS_XDelete(DRM_TEMP_DECRYPTED_FOLDER, FS_FILE_TYPE | FS_DIR_TYPE | FS_RECURSIVE_TYPE, NULL, 0);
    FS_CreateDir(DRM_TEMP_DECRYPTED_FOLDER);
    attr = FS_GetAttributes(DRM_TEMP_DECRYPTED_FOLDER);
    if (attr >= FS_NO_ERROR)
    {
        FS_SetAttributes(DRM_TEMP_DECRYPTED_FOLDER, (U8) (attr | FS_ATTR_HIDDEN));
    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -