⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfiltergraph.pas

📁 C++ 头文件转换为Delphi接口文件地工具
💻 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 + -