Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Het INF-bestand voor een stuurprogramma met een encoderfilter moet vermeldingen bevatten die het volgende definiëren:
Aanvullende componenten voor kernel streaming-captures
Welke COM-interface KsProxy moet beschikbaar maken
Metagegevenswaarden die de mogelijkheden van het encoderfilter beschrijven
De kernel-streamingcategorie van het filter
Aanvullende Kernel Streaming Capture-onderdelen
Het INF-bestand dat wordt gebruikt om het stuurprogramma voor een encoderapparaat te installeren, moet verwijzen naar ks.inf en kscaptur.inf in de sectie [DefaultInstall] als opnamestuurprogramma's, omdat deze bestanden de benodigde ondersteuning voor encoderonderdelen toevoegen. Voorbeeld:
[DefaultInstall]
include=ks.inf,kscaptur.inf
needs=[Your driver's DDInstall section],KS.Registration,KSCAPTUR.Registration.NT
Welke COM-interface KsProxy moet beschikbaar maken
Geef in de sectie AddReg van het INF-bestand van uw stuurprogramma een van de volgende drie GUID's op om de COM-interface aan te geven dat de KsProxy-invoegtoepassing (encapi.dll) beschikbaar moet worden gesteld aan clients. De COM-interface wordt bepaald door de eigenschapsondersteuning die u hebt geïmplementeerd in het encoderfilter:
| Interface GUID | Naam | Beschrijving |
|---|---|---|
{B43C4EEC-8C32-4791-9102-508ADA5EE8E7} |
CLSID_IVideoEncoderProxy |
Geef deze GUID op om ervoor te zorgen dat KsProxy de COM-interface van IVideoEncoder beschikbaar maakt (voor achterwaartse compatibiliteit met de oudere generatie encoderondersteuning van Microsoft). Clients moeten deze interface afleiden van de IEncoderAPI COM-interface. |
{7FF0997A-1999-4286-A73C-622B8814E7EB} |
CLSID_ICodecAPIProxy |
Geef deze GUID op om ervoor te zorgen dat KsProxy de ICodecAPI COM-interface beschikbaar maakt (voor niet-videocoderingsapparaten zoals coderingsprogramma's voor alleen-audio). |
{B05DABD9-56E5-4FDC-AFA4-8A47E91F1C9C} |
CLSID_IVideoEncoderCodecAPIProxy |
Geef deze GUID op om ervoor te zorgen dat KsProxy zowel de IVideoEncoder - als ICodecAPI COM-interfaces (voor compatibiliteit met eerdere en volgende versies) beschikbaar maakt. |
Voorbeeld:
[Your driver's AddReg section]
HKR,Interfaces\{B43C4EEC-8C32-4791-9102-508ADA5EE8E7},,,
Dit zou ertoe leiden dat KsProxy alleen de COM-interface van IVideoEncoder (CLSID_IVideoEncoderProxy) beschikbaar maakt.
Deze COM-interfaces worden beschreven in de sectie DirectShow van de DirectX 9- en Windows-SDK's voor Windows XP met SP1 en hoger.
Metagegevenswaarden die de mogelijkheden van het encoderfilter adverteren
U kunt metagegevenswaarden opgeven in het gebied Apparaatparameters\Capabilities van het register in het INF-bestand van de encoder. Toepassingen kunnen deze metagegevenswaarden gebruiken om te bepalen welke functionaliteit moet worden geïmplementeerd of beschikbaar wordt gesteld aan de gebruiker.
Voorbeeld:
[Your driver's AddReg section]
HKR,Capabilities,,,
HKR,Capabilities,"{12345678-1234-1234-1234-12345678abcd}",,guid1
Hiermee wordt een metagegevensitem {12345678-1234-1234-1234-12345678abcd} = guid1 gemaakt in het gebied Apparaatparameters\Capabilities van de registerinstellingen van de encoder. De lege lijn is nodig om de registersleutel te maken als deze nog niet bestaat.
Een encoderfilter kan dergelijke statische metagegevens in het INF-bestand opgeven voor gebruik door toepassingen. Windows XP Media Center Edition controleert bijvoorbeeld op encoders die aangeven dat ze compatibel zijn met Windows XP Media Center Edition.
De kernelstreamingcategorie van het filter
Kernelstreamingfilters moeten de kernelstreamingcategorie opgeven waartoe ze behoren. Microsoft definieert GUID's voor algemene categorieën, waaronder encoderfilters en multiplexer-filters (mux).
Filters geven hun respectieve categorieën aan door een of meer van de volgende GUID's op te geven in een AddInterface-instructie van het filtergedeelte van het INF-bestand van de minidriver:
| GUID van kernel-streamingcategorie | Naam | Beschrijving |
|---|---|---|
{19689BF6-C384-48FD-AD51-90E58C79F70B} |
KSCATEGORY_ENCODER |
Geef deze GUID op voor encoderfilters. |
{7A5DE1D3-01A1-452C-B481-4FA2B96271E8} |
KSCATEGORY_MULTIPLEXER |
Geef deze GUID op voor mux-filters. |
Als u een encoderfilter wilt registreren, geeft u de KSCATEGORY_ENCODER GUID op in DDInstall van uw stuurprogramma. Interface Sectie INF-bestand. Voorbeeld:
[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"
Notitie: De GUID die is opgegeven voor KSNAME_Filter moet overeenkomen met het ReferenceGuid-lid dat u hebt opgegeven in de KSFILTER_DESCRIPTOR-structuur die uw filter beschrijft.