Echt? Woran hängt's denn? Da du capDriverConnect ja bereits hast, solltest du auch bereits capGetDriverDescription gefunden haben.
Du kannst also wohl die Prototypen weglassen, wenn bereits eine VfW-
Unit eingebunden sein sollte, die capGetDriverDescription usw. definiert - hier nur der Vollständigkeit halber.
Code:
function capGetDriverDescriptionA(wDriverIndex: UINT; lpszName: LPSTR; cbName: integer; lpszVer: LPSTR; cbVer: integer): BOOL; stdcall; external 'AVICAP32.DLL';
function capGetDriverDescriptionW(wDriverIndex: UINT; lpszName: LPWSTR; cbName: integer; lpszVer: LPWSTR; cbVer: integer): BOOL; stdcall; external 'AVICAP32.DLL';
function capGetDriverDescription(wDriverIndex: UINT; lpszName: LPSTR; cbName: integer; lpszVer: LPSTR; cbVer: integer): BOOL; stdcall; external 'AVICAP32.DLL' name 'capGetDriverDescriptionA';
procedure TForm1.bnEnumVfWDriversClick(Sender: TObject);
var Idx : integer;
szName,
szVersion: array[0..MAX_PATH] of char;
begin
ListBox1.Clear;
for Idx:= 0 to 9 do begin
if capGetDriverDescription(Idx,
@szName,
sizeof(szName),
@szVersion,
sizeof(szVersion)) then begin
ListBox1.Items.Add(szName+' ('+szVersion+')');
end;
end;
end;
Leider hab ich hier keine Cam zum Testen, aber zumindest so'n XP Windows WDM
Standart-Treiber wird gelistet. Habe aber auch schon woanders mit einer ähnlichen Variante auch die Cam-Treiber geliefert bekommen. Sollte also klappen.
Hoffe es hilft!
Grüsse!