目的:通过汇编,较轻易的调用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
;-----------------------------------------------------------------