typedef struct DESKTOP_API_ENTRY{ __s32 (*ptr_dsk_reg_init_para) (void);__s32 (*ptr_dsk_reg_deinit_para) (void);__s32 (*ptr_dsk_reg_flush) (void);void* (*ptr_dsk_reg_get_para_by_app) (reg_app_e eApp);void* (*ptr_dsk_reg_get_default_para_by_app) (reg_app_e eApp);__bool (*ptr_dsk_reg_get_app_restore_flag) (reg_app_e eApp);__s32 (*ptr_dsk_reg_set_app_restore_flag) (reg_app_e eApp, __bool flag);__s32 (*ptr_dsk_reg_save_cur_play_info) (reg_app_e eApp, __s32 index, char* filename, rat_root_t root_type); __s32 (*ptr_dsk_reg_set_app_restore_all) (void);__s32 (*ptr_dsk_reg_is_aux_in_en) (void);void (*ptr_dsk_reg_reserved[2]) (void); } desktop_api_entry_t;#define DESKTOP_ENTRY_TBL (0xe1f00000) #define DESKTOP_FUNC_ENTRY ((desktop_api_entry_t *)DESKTOP_ENTRY_TBL)#define dsk_reg_init_para (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_init_para)#define dsk_reg_deinit_para (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_deinit_para)#define dsk_reg_flush (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_flush)#define dsk_reg_get_para_by_app (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_get_para_by_app)#define dsk_reg_get_default_para_by_app (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_get_default_para_by_app)#define dsk_reg_get_app_restore_flag (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_get_app_restore_flag)#define dsk_reg_set_app_restore_flag (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_set_app_restore_flag)#define dsk_reg_save_cur_play_info (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_save_cur_play_info)#define dsk_reg_set_app_restore_all (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_set_app_restore_all)#define dsk_reg_is_aux_in_en (DESKTOP_FUNC_ENTRY->ptr_dsk_reg_is_aux_in_en)dsk_reg_init_para dsk_reg_deinit_para dsk_reg_flush dsk_reg_get_para_by_app dsk_reg_get_default_para_by_app dsk_reg_get_app_restore_flag dsk_reg_set_app_restore_flag dsk_reg_save_cur_play_info dsk_reg_set_app_restore_all dsk_reg_is_aux_in_en
1 回答

慕的地6264312
TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個贊
結(jié)構(gòu)體struct DESKTOP_API_ENTRY(及類型desktop_api_entry_t)中所有的成員都是函數(shù)指針。
DESKTOP_ENTRY_TBL是一個內(nèi)存地址,從代碼來看這個地址應(yīng)該是某個desktop_api_entry_t類型的變量的地址。DESKTOP_FUNC_ENTRY用宏定義的方式訪問這個變量,用DESKTOP_FUNC_ENTRY->xxx(...)的方式就可以調(diào)用函數(shù)指針xxx所指的函數(shù)。
你列出來的一堆“函數(shù)名”的本質(zhì)都是宏,比如dsk_reg_init_para(...)就是調(diào)用DESKTOP_FUNC_ENTRY->ptr_dsk_reg_init_para所指的函數(shù)。
- 1 回答
- 0 關(guān)注
- 114 瀏覽
添加回答
舉報(bào)
0/150
提交
取消