Win32 API 日本語リファレンス
ホームMedia.DirectShow.Tv › IGuideData

IGuideData

COM
IID61571138-5b01-43cd-aeaf-60b784a0bf93継承元IUnknown自前メソッド開始 vtbl3

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetServices(IEnumTuneRequests** ppEnumTuneRequests)
ppEnumTuneRequestsIEnumTuneRequests**out全サービスを列挙するIEnumTuneRequestsを受け取るポインタ。呼出側がReleaseする。
vtbl 4 HRESULT GetServiceProperties(ITuneRequest* pTuneRequest, IEnumGuideDataProperties** ppEnumProperties)
pTuneRequestITuneRequest*in対象サービスを指定するITuneRequestポインタ。
ppEnumPropertiesIEnumGuideDataProperties**out当該サービスのプロパティを列挙するIEnumGuideDataPropertiesを受け取るポインタ。呼出側がReleaseする。
vtbl 5 HRESULT GetGuideProgramIDs(IEnumVARIANT** pEnumPrograms)
pEnumProgramsIEnumVARIANT**out全番組のIDを列挙するIEnumVARIANTを受け取るポインタ。呼出側がReleaseする。
vtbl 6 HRESULT GetProgramProperties(VARIANT varProgramDescriptionID, IEnumGuideDataProperties** ppEnumProperties)
varProgramDescriptionIDVARIANTin対象番組を識別する記述子IDを保持するVARIANT。
ppEnumPropertiesIEnumGuideDataProperties**out当該番組のプロパティを列挙するIEnumGuideDataPropertiesを受け取るポインタ。呼出側がReleaseする。
vtbl 7 HRESULT GetScheduleEntryIDs(IEnumVARIANT** pEnumScheduleEntries)
pEnumScheduleEntriesIEnumVARIANT**out全番組表エントリのIDを列挙するIEnumVARIANTを受け取るポインタ。呼出側がReleaseする。
vtbl 8 HRESULT GetScheduleEntryProperties(VARIANT varScheduleEntryDescriptionID, IEnumGuideDataProperties** ppEnumProperties)
varScheduleEntryDescriptionIDVARIANTin対象番組表エントリを識別する記述子IDを保持するVARIANT。
ppEnumPropertiesIEnumGuideDataProperties**out当該エントリのプロパティを列挙するIEnumGuideDataPropertiesを受け取るポインタ。呼出側がReleaseする。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IGuideData "{61571138-5B01-43CD-AEAF-60B784A0BF93}"
#usecom global IGuideData IID_IGuideData "{}"
#comfunc global IGuideData_GetServices                 3 sptr
#comfunc global IGuideData_GetServiceProperties        4 sptr,sptr
#comfunc global IGuideData_GetGuideProgramIDs          5 sptr
#comfunc global IGuideData_GetProgramProperties        6 int,sptr
#comfunc global IGuideData_GetScheduleEntryIDs         7 sptr
#comfunc global IGuideData_GetScheduleEntryProperties  8 int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。