DirectShow Win32汇编工程 正式启动 (不断完善中.....)

目的:通过汇编,较轻易的调用DirectShow接口,实现多媒体播放器...

 

;//------------------------------------------------------------------------------
;//

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

CLSID_FilterGraph GUID <0e436ebb3h, 524fh, 11ceh, <9fh, 53h, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>;//uuids.h 

IID_IGraphBuilder GUID <56a868a9h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h ,70h>> ;//strmif.h 创建DirectShow Graph

IID_IMediaControl GUID <56a868b1h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>;//control.h 获取IMediaControl 接口

IID_IMediaSeeking GUID <36b73880h, 0c2c8h, 11cfh, <8bh, 46h, 00h, 80h, 5fh, 6ch, 0efh, 60h>> ;//strmif.h 获取IMediaSeeking 接口

IID_IBasicAudio   GUID <56a868b3h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>;//control.h 获取IBasicAudio 接口

IID_IVideoWindow  GUID <56a868b4h, 0ad4h, 11ceh, <0b0h, 3ah, 00h, 20h, 0afh, 0bh, 0a7h, 70h>>;//control.h 获取IVideowindow 接口

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

;-----------------------------------------------------------------
;-----------------------------------------------------------------
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  <>  
        ; IMediaControlVtbl methods
        GetTypeInfoCount                comethod2 ?
        GetTypeInfo                     comethod4 ?
        GetIDsOfNames                   comethod6 ?
        _Invoke                         comethod9 ?
        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
;-----------------------------------------------------------------

你可能感兴趣的:(DirectShow Win32汇编工程 正式启动 (不断完善中.....))