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

コミュニケーションクラスドライバの終了

Syntax
C++
uhs_status_t Usbh_Cdc_Exit(void* stCallback);
引数 
説明 
void* stCallback 
[in] コミュニケーションデバイス挿抜時のコールバック情報構造体 

コミュニケーションクラスドライバの終了結果

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

コミュニケーションクラスドライバの終了をします。

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

1: uhs_status_t Usbh_Cdc_Exit(void* stCallback) 2: { 3: ((void)stCallback); 4: 5: CDC_FUNC_STATUS nRetval; 6: uhs_boolean_t bRetval; 7: 8: 9: 10: 11: IAPI_CDC_REPORT_MILESTONE( USBCDC_CHKPOINTS_API_FINALIZE ); 12: 13: 14: 15: 16: if( g_pCdcDriver == NULL ) { 17: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_NOT_INIT ); 18: return( UDI_STAT_DATA_ERROR ); 19: } 20: 21: 22: 23: 24: nRetval = Usbh_Cdc_Acm_Finalize(); 25: if( nRetval != CDC_FUNC_STATUS_SUCCESS ) { 26: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_FAILED_CBI_EXIT ); 27: (void)Usbh_Cdc_DeleteCdcDriver( ); 28: (void)CdcUtils_Free(g_pCdcDriver); 29: g_pCdcDriver = NULL; 30: return( UDI_STAT_DATA_ERROR ); 31: } 32: 33: 34: 35: 36: 37: nRetval = Usbh_Cdc_DeleteCdcDriver(); 38: if( nRetval != CDC_FUNC_STATUS_SUCCESS ) { 39: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_FAILED_DEL_CDCD ); 40: (void)CdcUtils_Free(g_pCdcDriver); 41: g_pCdcDriver = NULL; 42: return( UDI_STAT_DATA_ERROR ); 43: } 44: 45: bRetval = CdcUtils_Free(g_pCdcDriver); 46: g_pCdcDriver = NULL; 47: if( bRetval != TRUE ) { 48: IAPI_CDC_REPORT_SUMMARY( USBCDC_LOG_SYS_OUT_OF_RESOURCE ); 49: return( UDI_STAT_RESOURCE_UNAVAIL ); 50: } 51: 52: 53: 54: 55: IAPI_CDC_REPORT_MILESTONE( USBCDC_CHKPOINTS_API_FINALIZE_FINISH ); 56: 57: return( UDI_OK ); 58: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.