Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die INF-Datei für einen Treiber mit einem Encoderfilter muss Einträge enthalten, die Folgendes definieren:
Zusätzliche Kernelstreaming-Aufnahmekomponenten
Welche COM-Schnittstelle KsProxy verfügbar machen soll
Metadatenwerte, die die Funktionen des Encoderfilters beschreiben
Die Kernelstreamingkategorie des Filters
Zusätzliche Kernelstreaming-Aufnahmekomponenten
Die INF-Datei, die zum Installieren des Treibers für ein Encodergerät verwendet wird, muss im Abschnitt [DefaultInstall] als Aufnahmetreiber auf "ks.inf " und "kscaptur.inf " verweisen, da diese Dateien erforderliche Unterstützung für Encoderkomponenten hinzufügen. Beispiel:
[DefaultInstall]
include=ks.inf,kscaptur.inf
needs=[Your driver's DDInstall section],KS.Registration,KSCAPTUR.Registration.NT
Welche COM-Schnittstelle KsProxy verfügbar machen soll
Geben Sie im AddReg-Abschnitt der INF-Datei Ihres Treibers eine der folgenden drei GUIDs an, um die COM-Schnittstelle anzugeben, die das KsProxy-Plug-In (encapi.dll) für Clients verfügbar machen soll. Die COM-Schnittstelle wird durch die von Ihnen implementierte Unterstützung von Eigenschaften im Encoder-Filter bestimmt.
| Schnittstellen-GUID | Name | BESCHREIBUNG |
|---|---|---|
{B43C4EEC-8C32-4791-9102-508ADA5EE8E7} |
CLSID_IVideoEncoderProxy |
Geben Sie diese GUID an, damit KsProxy die IVideoEncoder-COM-Schnittstelle verfügbar macht (aus Gründen der Abwärtskompatibilität mit der älteren Generation von Encoderunterstützung, die von Microsoft bereitgestellt wird). Clients müssen diese Schnittstelle von der IEncoderAPI COM-Schnittstelle ableiten. |
{7FF0997A-1999-4286-A73C-622B8814E7EB} |
CLSID_ICodecAPIProxy |
Geben Sie diese GUID an, damit KsProxy die ICodecAPI-COM-Schnittstelle verfügbar macht (für nicht-Videocodierungsgeräte wie Audio-Encoder). |
{B05DABD9-56E5-4FDC-AFA4-8A47E91F1C9C} |
CLSID_IVideoEncoderCodecAPIProxy |
Geben Sie diese GUID an, damit KsProxy sowohl die IVideoEncoder - als auch die ICodecAPI-COM-Schnittstellen verfügbar macht (aus Gründen der Abwärts- und Vorwärtskompatibilität). |
Beispiel:
[Your driver's AddReg section]
HKR,Interfaces\{B43C4EEC-8C32-4791-9102-508ADA5EE8E7},,,
Dies würde dazu führen, dass KsProxy nur die COM-Schnittstelle IVideoEncoder (CLSID_IVideoEncoderProxy) verfügbar macht.
Diese COM-Schnittstellen sind im DirectShow-Abschnitt der DirectX 9- und Windows-SDKs für Windows XP mit SP1 und höher dokumentiert.
Metadatenwerte, die die Funktionen des Encoderfilters ankündigen
Sie können Metadatenwerte im Bereich "Geräteparameter\Funktionen " der Registrierung in der INF-Datei des Encoders angeben. Anwendungen können diese Metadatenwerte verwenden, um zu bestimmen, welche Funktionalität für den Benutzer implementiert oder verfügbar gemacht werden soll.
Beispiel:
[Your driver's AddReg section]
HKR,Capabilities,,,
HKR,Capabilities,"{12345678-1234-1234-1234-12345678abcd}",,guid1
Dadurch würde ein Metadatenelement "{12345678-1234-1234-1234-12345678abcd} = guid1" im Bereich " Geräteparameter\Funktionen " der Registrierungseinstellungen des Encoders erstellt. Die leere Zeile ist erforderlich, um den Registrierungsschlüssel zu erstellen, falls er noch nicht vorhanden ist.
Ein Encoderfilter kann solche statischen Metadaten in der INF-Datei für die Verwendung durch Anwendungen angeben. Windows XP Media Center Edition sucht beispielsweise nach Encodern, die angeben, dass sie Windows XP Media Center Edition-kompatibel sind.
Die Kernel Streaming Kategorie des Filters
Kernelstreamingfilter müssen die Kernelstreamingkategorie angeben, zu der sie gehören. Microsoft definiert GUIDs für allgemeine Kategorien, einschließlich Encoderfiltern und Multiplexerfiltern.
Filter geben ihre jeweiligen Kategorien an, indem sie eine oder mehrere der folgenden GUIDs in einer AddInterface-Direktive im Abschnitt des Minidrivers der INF-Datei angeben:
| Guid der Kernelstreamingkategorie | Name | BESCHREIBUNG |
|---|---|---|
{19689BF6-C384-48FD-AD51-90E58C79F70B} |
KSCATEGORY_ENCODER |
Geben Sie diese GUID für Encoder-Filter an. |
{7A5DE1D3-01A1-452C-B481-4FA2B96271E8} |
KSCATEGORY_Multiplexer |
Geben Sie diese GUID für Muxfilter an. |
Um einen Encoderfilter zu registrieren, geben Sie die KSCATEGORY_ENCODER GUID im DDInstall.Schnittstelle INF-Dateiabschnitt Ihres Treibers an. Beispiel:
[Your Driver's DDInstall.Interface section]
AddInterface=%KSCATEGORY_ENCODER%,%KSNAME_Filter%,MyEncoderDevice.AddInterface
[MyEncoderDevice.AddInterface]
AddReg=MyEncoderDevice.AddReg
[MyEncoderDevice.AddReg]
HKR,,CLSID,,%KSProxy.CLSID%
HKR,,FriendlyName,,%MyEncoderDeviceFriendlyName%
[Strings]
KSCATEGORY_ENCODER="{19689BF6-C384-48FD-AD51-90E58C79F70B}"
KSNAME_Filter="{9B365890-165F-11D0-A195-0020AFD156E4}"
KSProxy.CLSID="17CCA71B-ECD7-11D0-B908-00A0C9223196"
MyEncoderDeviceFriendlyName="My Encoder Device"
Anmerkung: Die für KSNAME_Filter angegebene GUID muss mit dem ReferenceGuid-Element übereinstimmen, das Sie in der KSFILTER_DESCRIPTOR Struktur angegeben haben, die Ihren Filter beschreibt.