AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
Usbh_Hid_Init 関数

HIDクラスドライバの初期化

Syntax
C++
uhs_status_t Usbh_Hid_Init(app_callback_info* stCallback);
引数 
説明 
app_callback_info* stCallback 
[in] HIDデバイス挿抜時のコールバック情報構造体 

HIDクラスドライバの初期化結果

返値の詳細 
説明 
成功 
リソースエラー 
データエラー 

HIDクラスドライバの初期化を行います。 

本APIで登録したコールバック関数は、HIDデバイス挿抜などのイベント発生時にコールバックされます。 

コールバックする際のパラメータは以下の様になるため、コールバック先の関数では callback_id を確認して各処理を行って下さい。 

第1引数(mod_id):本ドライバを表す MOD_ID_CLASSDRV_HID が常時指定されます。 

第2引数(callback_id):発生したイベント。( HID_CALLBACK_ID )  

第3引数(*context):context情報(コミュニケーションデバイスが複数接続された場合の識別用に使用)。 NULLはエラー発生を示します。

本APIはアプリケーションから直接実行しないで下さい。(USB Host COREドライバ向け) 

class_ini_callbackの設定は、必ず本関数で設定して下さい。

1: uhs_status_t Usbh_Hid_Init(app_callback_info* stCallback) 2: { 3: HID_FUNC_STATUS nRetval; 4: 5: 6: 7: 8: IAPI_HID_REPORT_MILESTONE( USBHID_CHKPOINTS_API_INITIALIZE ); 9: 10: 11: 12: 13: if(stCallback->clsdrv_type != USB_CLASS_HID){ 14: IAPI_HID_REPORT_SUMMARY( USBHID_LOG_SYS_PARAM_ERROR ); 15: return( UDI_STAT_DATA_ERROR ); 16: } 17: 18: 19: 20: 21: if(g_pHidDriver != NULL){ 22: IAPI_HID_REPORT_SUMMARY( USBHID_LOG_ALREADY_INIT ); 23: return( UDI_STAT_DATA_ERROR ); 24: } 25: 26: 27: 28: 29: 30: g_pHidDriver = (PHID_DRIVER)HidUtils_Malloc(sizeof(HID_DRIVER)); 31: if( g_pHidDriver == NULL ) { 32: IAPI_HID_REPORT_SUMMARY( USBHID_LOG_SYS_OUT_OF_RESOURCE ); 33: return( UDI_STAT_RESOURCE_UNAVAIL ); 34: } 35: 36: nRetval = Usbh_Hid_CreateHidDriver( stCallback->attach_callback, stCallback->detach_callback ); 37: if(nRetval != HID_FUNC_STATUS_SUCCESS ) { 38: (void)HidUtils_Free(g_pHidDriver); 39: g_pHidDriver = NULL; 40: IAPI_HID_REPORT_SUMMARY( USBHID_LOG_FAILED_CRE_HIDD ); 41: return( UDI_STAT_DATA_ERROR ); 42: } 43: 44: 45: 46: 47: nRetval = Usbh_Hid_Boot_Initialize(); 48: if(nRetval != HID_FUNC_STATUS_SUCCESS ) { 49: (void)Usbh_Hid_DeleteHidDriver(); 50: (void)HidUtils_Free(g_pHidDriver); 51: g_pHidDriver = NULL; 52: IAPI_HID_REPORT_SUMMARY( USBHID_LOG_FAILED_BOOT_INIT ); 53: return( UDI_STAT_DATA_ERROR ); 54: } 55: 56: 57: 58: 59: IAPI_HID_REPORT_MILESTONE( USBHID_CHKPOINTS_API_INITIALIZE_FINISH ); 60: 61: return( UDI_OK ); 62: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.