in der Datei steht folgender Bereich für den Typ TSysDevEnum drin
Delphi-Quellcode:
// *****************************************************************************
// TSysDevEnum
// *****************************************************************************
{@exclude}
PFilCatNode = ^TFilCatNode;
{@exclude}
TFilCatNode =
record
FriendlyName : Shortstring;
CLSID : TGUID;
end;
{ Usefull class to enumerate availables filters.
See "Filter Enumerator" sample. }
TSysDevEnum =
class
private
FGUID : TGUID;
FCategories : TList;
FFilters : TList;
ACategory : PFilCatNode;
procedure GetCat(catlist: TList; CatGUID: TGUID);
function GetCountCategories: integer;
function GetCountFilters: integer;
function GetCategory(item: integer): TFilCatNode;
function GetFilter(item: integer): TFilCatNode;
public
{ Select the main category by GUID. For example CLSID_VideoCompressorCategory
to enumerate Video Compressors. }
procedure SelectGUIDCategory(
GUID: TGUID);
{ Select the main category by Index. }
procedure SelectIndexCategory(
index: integer);
{ Call CountCategories to retrieve categories count.}
property CountCategories: integer
read GetCountCategories;
{ Call CountFilters to retrieve the number of Filte within a Category. }
property CountFilters: integer
read GetCountFilters;
{ Call Categories to read Category Name and GUID. }
property Categories[item: integer]: TFilCatNode
read GetCategory;
{ Call Filters to read Filter Name and GUID. }
property Filters[item: integer]: TFilCatNode
read GetFilter;
{ Find filter index by FriendlyName; -1, if not found }
function FilterIndexOfFriendlyName(
const FriendlyName:
string): Integer;
{ Call GetBaseFilter to retrieve the IBaseFilter interface corresponding to index. }
function GetBaseFilter(
index: integer): IBaseFilter;
overload;
{ Call GetBaseFilter to retrieve the IBaseFilter interface corresponding to GUID. }
function GetBaseFilter(
GUID: TGUID): IBaseFilter;
overload;
{ Call GetMoniker to retrieve the IMoniker interface corresponding to index.
This interface can be used to store a filter with the @link(TBaseFiter) class. }
function GetMoniker(
index: integer): IMoniker;
{ constructor }
constructor Create;
overload;
{ constructor. Create the class and initialize the main category with the GUID. }
constructor Create(
guid: TGUID);
overload;
{ destructor }
destructor Destroy;
override;
end;
Die Methoden selbst lasse ich hier mal raus.
MfG
Flattman