📄 cfiltergraph.pas
字号:
unit CFILTERGRAPH;
{**************************************************************************}
{ }
{ This C DLL header file first (automatic) conversion generated by: }
{ HeadConv 4.0 (c) 2000 by Bob Swart (aka Dr.Bob - www.drbob42.com) }
{ Final Delphi-Jedi (Darth) command-line units edition }
{ }
{ Generated Date: 2009-04-20 }
{ Generated Time: 14:26:39 }
{ }
{**************************************************************************}
interface
uses
{$IFDEF WIN32}
Windows;
{$ELSE}
Wintypes, WinProcs;
{$ENDIF}
{=> CFILTERGRAPH.H <=}
{/// CFilterGraph.h: interface for the CFilterGraph class. }
{/// }
{/////////////////////////////////////////////////////////////////////// }
{$IFNDEF AFX_FILTERGRAPH_H__19903DB4_110C_4DC9_8A9C_A839009CAC29__INCLUDED_}
{$DEFINE AFX_FILTERGRAPH_H__19903DB4_110C_4DC9_8A9C_A839009CAC29__INCLUDED_}
{$IFDEF _MSC_VER > 1000}
{ #pragma once }
{$ENDIF // _MSC_VER > 1000}
{$INCLUDE "MemFilter.h"}
{/// Filter graph control in this application }
{/// media control interface }
{/// video window interface }
{/// media event interface }
{/// media seeking interface }
{/// basic audio interface }
{/// Filter running flag }
{/// Filter init flag }
{/// Memory stream }
{/// source filter }
var
CFilterGraph: function(var inBuffer: CDATAADMIN): PUBLIC: cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
~CFilterGraph: function: VIRTUAL cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
IsInit: var function: UBLIC: BOOL cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
IsRunning: function: Bool cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
SetVideoWndOwner: function(inWnd: HWND) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
AdjustLength: function(inAdd: LONGLONG) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
StartGraph: function: Bool cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
BuildGraph: function: Bool cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
SetWindowPosition: function(nLeft: Integer;
nTop: Integer;
nWidth: Integer;
nHeight: Integer) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
ReleaseGraph: function cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
ResetGraph: function: Bool cdecl {$IFDEF WIN32} stdcall {$ENDIF};
{/// Filter graph view tools }
var
AddGraphToRot: function(var pUnkGraph: IUNKNOWN;
var pdwRegister: LongInt): HRESULT cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
RemoveGraphFromRot: function(pdwRegister: LongInt) cdecl {$IFDEF WIN32} stdcall {$ENDIF};
var
WaitingThrd: function(pParam: Pointer): Word cdecl {$IFDEF WIN32} stdcall {$ENDIF};
{$ENDIF // !defined(AFX_FILTERGRAPH_H__19903DB4_110C_4DC9_8A9C_A839009CAC29__INCLUDED_)}
var
DLLLoaded: Boolean { is DLL (dynamically) loaded already? }
{$IFDEF WIN32} = False; {$ENDIF}
implementation
var
SaveExit: pointer;
DLLHandle: THandle;
{$IFNDEF MSDOS}
ErrorMode: Integer;
{$ENDIF}
procedure NewExit; far;
begin
ExitProc := SaveExit;
FreeLibrary(DLLHandle)
end {NewExit};
procedure LoadDLL;
begin
if DLLLoaded then Exit;
{$IFNDEF MSDOS}
ErrorMode := SetErrorMode($8000{SEM_NoOpenFileErrorBox});
{$ENDIF}
DLLHandle := LoadLibrary('CFILTERGRAPH.DLL');
if DLLHandle >= 32 then
begin
DLLLoaded := True;
SaveExit := ExitProc;
ExitProc := @NewExit;
@CFilterGraph := GetProcAddress(DLLHandle,'CFilterGraph');
{$IFDEF WIN32}
Assert(@CFilterGraph <> nil);
{$ENDIF}
@~CFilterGraph := GetProcAddress(DLLHandle,'~CFilterGraph');
{$IFDEF WIN32}
Assert(@~CFilterGraph <> nil);
{$ENDIF}
@IsInit := GetProcAddress(DLLHandle,'IsInit');
{$IFDEF WIN32}
Assert(@IsInit <> nil);
{$ENDIF}
@IsRunning := GetProcAddress(DLLHandle,'IsRunning');
{$IFDEF WIN32}
Assert(@IsRunning <> nil);
{$ENDIF}
@SetVideoWndOwner := GetProcAddress(DLLHandle,'SetVideoWndOwner');
{$IFDEF WIN32}
Assert(@SetVideoWndOwner <> nil);
{$ENDIF}
@AdjustLength := GetProcAddress(DLLHandle,'AdjustLength');
{$IFDEF WIN32}
Assert(@AdjustLength <> nil);
{$ENDIF}
@StartGraph := GetProcAddress(DLLHandle,'StartGraph');
{$IFDEF WIN32}
Assert(@StartGraph <> nil);
{$ENDIF}
@BuildGraph := GetProcAddress(DLLHandle,'BuildGraph');
{$IFDEF WIN32}
Assert(@BuildGraph <> nil);
{$ENDIF}
@SetWindowPosition := GetProcAddress(DLLHandle,'SetWindowPosition');
{$IFDEF WIN32}
Assert(@SetWindowPosition <> nil);
{$ENDIF}
@ReleaseGraph := GetProcAddress(DLLHandle,'ReleaseGraph');
{$IFDEF WIN32}
Assert(@ReleaseGraph <> nil);
{$ENDIF}
@ResetGraph := GetProcAddress(DLLHandle,'ResetGraph');
{$IFDEF WIN32}
Assert(@ResetGraph <> nil);
{$ENDIF}
@AddGraphToRot := GetProcAddress(DLLHandle,'AddGraphToRot');
{$IFDEF WIN32}
Assert(@AddGraphToRot <> nil);
{$ENDIF}
@RemoveGraphFromRot := GetProcAddress(DLLHandle,'RemoveGraphFromRot');
{$IFDEF WIN32}
Assert(@RemoveGraphFromRot <> nil);
{$ENDIF}
@WaitingThrd := GetProcAddress(DLLHandle,'WaitingThrd');
{$IFDEF WIN32}
Assert(@WaitingThrd <> nil);
{$ENDIF}
end
else
begin
DLLLoaded := False;
{ Error: CFILTERGRAPH.DLL could not be loaded !! }
end;
{$IFNDEF MSDOS}
SetErrorMode(ErrorMode)
{$ENDIF}
end {LoadDLL};
begin
LoadDLL;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -