DirectShow部分头文件

最近又更新了一下DirectShow头文件,以下接口用于简单的多媒体播放还是OK的,如果再深入其他接口,再添加。

Win32汇编COM调用DirectShow接口部分定义:

 

;//------------------------------------------------------------------------------
;//
;// By G-Spider   2010
;//
;// Copyright (c) 2010 - 2011.  All rights reserved.
;//------------------------------------------------------------------------------

CLSID_FilterGraph       GUID <0e436ebb3h, 524fh, 11ceh, <9fh, 53h, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>
;// Get the interface for DirectShow's GraphBuilder       
IID_IGraphBuilder       GUID <56a868a9h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h ,70h>>
;// QueryInterface for DirectShow interfaces
IID_IMediaControl       GUID <56a868b1h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>
IID_IMediaEventEx       GUID <56a868c0h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>
IID_IMediaSeeking       GUID <36b73880h, 0c2c8h, 11cfh, <8bh, 46h, 00h, 80h,  5fh, 6ch, 0efh, 60h>>
IID_IMediaPosition      GUID <56a868b2h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>

;// Query for video interfaces, which may not be relevant for audio files
IID_IBasicVideo         GUID <56a868b5h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>
IID_IVideoWindow        GUID <56a868b4h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>
;// Query for audio interfaces, which may not be relevant for video-only files
IID_IBasicAudio         GUID <56a868b3h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>

IID_IQualityControl     GUID <56a868a5h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>

 

pcomethod1 TYPEDEF PROTO :DWORD
pcomethod2 TYPEDEF PROTO :DWORD, :DWORD
pcomethod3 TYPEDEF PROTO :DWORD, :DWORD, :DWORD
pcomethod4 TYPEDEF PROTO :DWORD, :DWORD, :DWORD, :DWORD
pcomethod5 TYPEDEF PROTO :DWORD, :DWORD, :DWORD, :DWORD , :DWORD
pcomethod6 TYPEDEF PROTO :DWORD, :DWORD, :DWORD, :DWORD , :DWORD ,:DWORD
pcomethod7 TYPEDEF PROTO :DWORD, :DWORD, :DWORD, :DWORD , :DWORD ,:DWORD ,:DWORD
pcomethod8 TYPEDEF PROTO :DWORD, :DWORD, :DWORD, :DWORD , :DWORD ,:DWORD ,:DWORD ,:DWORD
pcomethod9 TYPEDEF PROTO :DWORD, :DWORD, :DWORD, :DWORD , :DWORD ,:DWORD ,:DWORD ,:DWORD ,:DWORD


comethod1 TYPEDEF PTR pcomethod1
comethod2 TYPEDEF PTR pcomethod2
comethod3 TYPEDEF PTR pcomethod3
comethod4 TYPEDEF PTR pcomethod4
comethod5 TYPEDEF PTR pcomethod5
comethod6 TYPEDEF PTR pcomethod6
comethod7 TYPEDEF PTR pcomethod7
comethod8 TYPEDEF PTR pcomethod8
comethod9 TYPEDEF PTR pcomethod9

POINTD                 STRUCT
 x         DWORD ?
 y         DWORD ?
 _Width         DWORD ?
 _Height         DWORD ?
POINTD                 ENDS

Quality                 STRUCT
        _Type           DWORD      ? ;0:当前发送数据太慢或1:发送太快
        Proportion      DWORD      ?
        Late            QWORD      ?
        TimeStamp       QWORD      ?
Quality                 ENDS

;-----------------------------------------------------------------
;-----------------------------------------------------------------
IUnknown                STRUCT
 QueryInterface                  comethod3 ?
 AddRef                          comethod1 ?
 Release                         comethod1 ?
IUnknown                ENDS
;-----------------------------------------------------------------
IGraphBuilderVtbl       STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ; IGraphBuilder methods
        AddFilter                       comethod3 ?
        RemoveFilter                    comethod2 ?
        EnumFilters                     comethod2 ?
        FindFilterByName                comethod3 ?
        ConnectDirect                   comethod4 ?      
        Reconnect                       comethod2 ?
        Disconnect                      comethod2 ?
        SetDefaultSyncSource            comethod1 ?
        Connect                         comethod3 ?
        Render                          comethod2 ?      
        RenderFile                      comethod3 ?
        AddSourceFilter                 comethod4 ?
        SetLogFile                      comethod2 ?
        Abort                           comethod1 ?
        ShouldOperationContinue         comethod1 ?
IGraphBuilderVtbl       ENDS

IGraphBuilder           STRUCT
        lpVtbl                          DWORD   ?;->IGraphBuilderVtbl
IGraphBuilder           ENDS
;-----------------------------------------------------------------
IMediaControlVtbl       STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ;---------------
        GetTypeInfoCount                comethod2 ?
        GetTypeInfo                     comethod4 ?
        GetIDsOfNames                   comethod6 ?
        _Invoke                         comethod9 ?
        ;---------------
        ;IMediaControl methods
        Run                             comethod1 ?
        _Pause                          comethod1 ?
        Stop                            comethod1 ?
        GetState                        comethod3 ?      
        RenderFile                      comethod2 ?
        AddSourceFilter                 comethod3 ?
        get_FilterCollection            comethod2 ?
        get_RegFilterCollection         comethod2 ?
        StopWhenReady                   comethod1 ?
IMediaControlVtbl       ENDS

IMediaControl           STRUCT
        lpVtbl                          DWORD   ?;->IMediaControlVtbl
IMediaControl           ENDS
;-----------------------------------------------------------------
IMediaEventExVtbl       STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ;---------------
        GetTypeInfoCount                comethod2 ?
        GetTypeInfo                     comethod4 ?
        GetIDsOfNames                   comethod6 ?
        _Invoke                         comethod9 ? 
        ;---------------
        ; IMediaEventEx methods    
        GetEventHandle                  comethod2 ?
        GetEvent                        comethod5 ?
        WaitForCompletion               comethod3 ?
        CancelDefaultHandling           comethod2 ?      
        RestoreDefaultHandling          comethod2 ?     
        FreeEventParams                 comethod4 ?
        SetNotifyWindow                 comethod4 ?
        SetNotifyFlags                  comethod2 ?
        GetNotifyFlags                  comethod2 ?     
IMediaEventExVtbl       ENDS

IMediaEventEx           STRUCT
        lpVtbl                          DWORD   ?;->IMediaEventExVtbl
IMediaEventEx           ENDS
;-----------------------------------------------------------------
IMediaSeekingVtbl       STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ; IMediaSeeking methods
        ;---------------
        GetCapabilities                 comethod2 ?
        CheckCapabilities               comethod2 ?
        IsFormatSupported               comethod2 ?
        QueryPreferredFormat            comethod2 ?
        GetTimeFormat                   comethod2 ?
        IsUsingTimeFormat               comethod2 ?       
        SetTimeFormat                   comethod2 ?
        GetDuration                     comethod2 ?
        GetStopPosition                 comethod2 ?
        GetCurrentPosition              comethod2 ?
        ConvertTimeFormat               comethod5 ?     
        SetPositions                    comethod5 ?
        GetPositions                    comethod3 ?
        GetAvailable                    comethod3 ?
        SetRate                         comethod2 ?
        GetRate                         comethod2 ?
        GetPreroll                      comethod2 ?
IMediaSeekingVtbl       ENDS

IMediaSeeking           STRUCT
        lpVtbl                          DWORD   ?;->IMediaSeekingVtbl
IMediaSeeking           ENDS
;-----------------------------------------------------------------
IMediaPositionVtbl       STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ;---------------
        GetTypeInfoCount                comethod2 ?
        GetTypeInfo                     comethod4 ?
        GetIDsOfNames                   comethod6 ?
        _Invoke                         comethod9 ?
        ;---------------
        ; IMediaPosition methods                 
        get_Duration                    comethod2 ?
        put_CurrentPosition             comethod2 ?
        get_CurrentPosition             comethod2 ?
        get_StopTime                    comethod2 ?      
        put_StopTime                    comethod2 ?     
        get_PrerollTime                 comethod2 ?
        put_PrerollTime                 comethod2 ?
        put_Rate                        comethod2 ?
        get_Rate                        comethod2 ?
        CanSeekForward                  comethod2 ?
        CanSeekBackward                 comethod2 ?  
       
IMediaPositionVtbl       ENDS

IMediaPosition           STRUCT
        lpVtbl                          DWORD   ?;->IMediaPositionVtbl
IMediaPosition           ENDS

;-----------------------------------------------------------------
IBasicAudioVtbl         STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ;---------------
        GetTypeInfoCount                comethod2 ?
        GetTypeInfo                     comethod4 ?
        GetIDsOfNames                   comethod6 ?
        _Invoke                         comethod9 ?
        ;---------------
        ; IBasicAudio   methods
        put_Volume                      comethod2 ?
        get_Volume                      comethod2 ?
        put_Balance                     comethod2 ?
        get_Balance                     comethod2 ?
IBasicAudioVtbl         ENDS

IBasicAudio             STRUCT
        lpVtbl                          DWORD   ?;->IBasicAudioVtbl
IBasicAudio             ENDS
;-----------------------------------------------------------------
IBasicVideoVtbl         STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ;---------------
        GetTypeInfoCount                comethod2 ?
        GetTypeInfo                     comethod4 ?
        GetIDsOfNames                   comethod6 ?
        _Invoke                         comethod9 ?
        ;---------------
        ; IBasicVideo   methods             
        get_AvgTimePerFrame             comethod2 ?
        get_BitRate                     comethod2 ?
        get_BitErrorRate                comethod2 ?
        get_VideoWidth                  comethod2 ?
        get_VideoHeight                 comethod2 ?
        put_SourceLeft                  comethod2 ?
        get_SourceLeft                  comethod2 ?
        put_SourceWidth                 comethod2 ?
        get_SourceWidth                 comethod2 ?
        put_SourceTop                   comethod2 ?
        get_SourceTop                   comethod2 ?
        put_SourceHeight                comethod2 ?
        get_SourceHeight                comethod2 ?
        put_DestinationLeft             comethod2 ?
        get_DestinationLeft             comethod2 ?
        put_DestinationWidth            comethod2 ?
        get_DestinationWidth            comethod2 ?
        put_DestinationTop              comethod2 ?
        get_DestinationTop              comethod2 ?
        put_DestinationHeight           comethod2 ?
        get_DestinationHeight           comethod2 ?
        SetSourcePosition               comethod5 ?    
        GetSourcePosition               comethod5 ?
        SetDefaultSourcePosition        comethod1 ?
        SetDestinationPosition          comethod5 ?
        GetDestinationPosition          comethod5 ?
        SetDefaultDestinationPosition   comethod1 ?     
        GetVideoSize                    comethod3 ?
        GetVideoPaletteEntries          comethod5 ?
        GetCurrentImage                 comethod3 ?
        IsUsingDefaultSource            comethod1 ?
        IsUsingDefaultDestination       comethod1 ?    
IBasicVideoVtbl         ENDS

IBasicVideo             STRUCT
        lpVtbl                          DWORD   ?;->IBasicVideoVtbl
IBasicVideo             ENDS
;-----------------------------------------------------------------
IVideoWindowVtbl        STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ;---------------
        GetTypeInfoCount                comethod2 ?
        GetTypeInfo                     comethod4 ?
        GetIDsOfNames                   comethod6 ?
        _Invoke                         comethod9 ?
        ;---------------
        ; IVideoWindow  methods      
        put_Caption                     comethod2 ?
        get_Caption                     comethod2 ?
        put_WindowStyle                 comethod2 ?
        get_WindowStyle                 comethod2 ?       
        put_WindowStyleEx               comethod2 ?
        get_WindowStyleEx               comethod2 ?
        put_AutoShow                    comethod2 ?
        get_AutoShow                    comethod2 ?
        put_WindowState                 comethod2 ?
        get_WindowState                 comethod2 ?
        put_BackgroundPalette           comethod2 ?
        get_BackgroundPalette           comethod2 ?
        put_Visible                     comethod2 ?
        get_Visible                     comethod2 ?
        put_Left                        comethod2 ?            
        get_Left                        comethod2 ?
        put_Width                       comethod2 ?
        get_Width                       comethod2 ?
        put_Top                         comethod2 ?
        get_Top                         comethod2 ?
        put_Height                      comethod2 ?
        get_Height                      comethod2 ?
        put_Owner                       comethod2 ?
        get_Owner                       comethod2 ?
        put_MessageDrain                comethod2 ?      
        get_MessageDrain                comethod2 ?
        get_BorderColor                 comethod2 ?
        put_BorderColor                 comethod2 ?
        get_FullScreenMode              comethod2 ?
        put_FullScreenMode              comethod2 ?
        SetWindowForeground             comethod2 ?
        NotifyOwnerMessage              comethod5 ?
        SetWindowPosition               comethod5 ?      
        GetWindowPosition               comethod5 ?
        GetMinIdealImageSize            comethod3 ?
        GetMaxIdealImageSize            comethod3 ?
        GetRestorePosition              comethod5 ?
        HideCursor                      comethod2 ?
        IsCursorHidden                  comethod2 ?
IVideoWindowVtbl        ENDS

IVideoWindow            STRUCT
        lpVtbl                          DWORD   ?;->IVideoWindowVtbl
IVideoWindow            ENDS
;-----------------------------------------------------------------
IQualityControlVtbl     STRUCT
        ; IUnknown      methods
        Unknown                         IUnknown  <> 
        ; IQualityControl  methods
        Notify                          comethod3 ?
        SetSink                         comethod2 ?
IQualityControlVtbl     ENDS

IQualityControl         STRUCT
        lpVtbl                          DWORD   ?;->IQualityControlVtbl
IQualityControl         ENDS

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值