IEWICEnumerateCodecs
Declaration
function IEWICEnumerateCodecs(ComponentTypes: IE_WICComponentType; Callback: TIEWICEnumerateCodecsCallBack; ForceRefresh: Boolean = False): Integer;
Description
Detects all the available WIC decoders and encoders on the system.
ComponentTypes must be either
IE_WICDecoder or
IE_WICEncoder.
Enable
ForceRefresh if you want fresh codecs (e.g. after installing HEIF).
Result will be -1 if an error occurred, otherwise the number of codecs found.
Examples
// Declare our call-back event
procedure TForm1.EnumerateCodecsCallBack(const FriendlyName: WideString; const GUID: TGuid; const Extensions: WideString; const Version: WideString; const Author: WideString);
begin
Memo1.Lines.Add( '[' + FriendlyName + ']' );
Memo1.Lines.Add( 'Version: ' + Version );
Memo1.Lines.Add( 'Author: ' + Author );
Memo1.Lines.Add( 'Extensions: ' + Extensions );
Memo1.Lines.Add( 'GUID: ' + GUIDToString( GUID ));
Memo1.Lines.Add( '' );
end;
// Output list of WIC Decoders
procedure TForm1.btnListDecoders(Sender: TObject);
begin
Memo1.Clear();
IEWicEnumerateCodecs( IE_WICDecoder, EnumerateCodecsCallBack );
end;
// Output list of WIC Encoders
procedure TForm1.btnListEncoders(Sender: TObject);
begin
Memo1.Clear();
IEWicEnumerateCodecs( IE_WICEncoder, EnumerateCodecsCallBack );
end;
// Count only...
decoderCount := IEWicEnumerateCodecs( IE_WICDecoder, nil );
See Also
◼IEWICFormatSupported
◼DecoderInfo
◼EncoderInfo