//指定サービスの全EPG情報を取得する //戻り値: // エラーコード //引数: // originalNetworkID [IN]取得対象のoriginalNetworkID // transportStreamID [IN]取得対象のtransportStreamID // serviceID [IN]取得対象のServiceID // epgInfoListSize [OUT]epgInfoListの個数 // epgInfoList [OUT]EPG情報のリスト(DLL内で自動的にdeleteする。次に取得を行うまで有効) DWORD CEpgDataCap3Util::GetEpgInfoList( WORD originalNetworkID, WORD transportStreamID, WORD serviceID, DWORD* epgInfoListSize, EPG_EVENT_INFO** epgInfoList ) { if( module == NULL || id == 0 ){ return ERR_NOT_INIT; } return pfnGetEpgInfoListEP3(id, originalNetworkID, transportStreamID, serviceID, epgInfoListSize, epgInfoList); }
//指定サービスの全EPG情報を列挙する //引数: // enumEpgInfoListProc [IN]EPG情報のリストを取得するコールバック関数 // param [IN]コールバック引数 DWORD CEpgDataCap3Util::EnumEpgInfoList( WORD originalNetworkID, WORD transportStreamID, WORD serviceID, BOOL (CALLBACK *enumEpgInfoListProc)(DWORD epgInfoListSize, EPG_EVENT_INFO* epgInfoList, LPVOID param), LPVOID param ) { if( module == NULL || id == 0 ){ return ERR_NOT_INIT; } if( pfnEnumEpgInfoListEP3 == NULL ){ DWORD epgInfoListSize; EPG_EVENT_INFO* epgInfoList; DWORD ret = pfnGetEpgInfoListEP3(id, originalNetworkID, transportStreamID, serviceID, &epgInfoListSize, &epgInfoList); if( ret == NO_ERR && enumEpgInfoListProc(epgInfoListSize, NULL, param) != FALSE ){ enumEpgInfoListProc(epgInfoListSize, epgInfoList, param); } return ret; } return pfnEnumEpgInfoListEP3(id, originalNetworkID, transportStreamID, serviceID, enumEpgInfoListProc, param); }