Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
INF-filen för en drivrutin med ett kodarfilter måste innehålla poster som definierar följande:
Ytterligare komponenter för strömfångst av kärna
Vilket COM-gränssnitt KsProxy ska exponera
Metadatavärden som beskriver kodarfiltrets funktioner
Filtrets kernelströmningskategori
Ytterligare kernel-strömningsavbildningskomponenter
DEN INF-fil som används för att installera drivrutinen för en kodare måste referera till ks.inf och kscaptur.inf i avsnittet [DefaultInstall] som avbildningsdrivrutiner eftersom dessa filer lägger till nödvändigt stöd för kodarkomponenter. Till exempel:
[DefaultInstall]
include=ks.inf,kscaptur.inf
needs=[Your driver's DDInstall section],KS.Registration,KSCAPTUR.Registration.NT
Vilket COM-gränssnitt KsProxy ska exponera
I avsnittet AddReg i drivrutinens INF-fil anger du något av följande tre GUID:er för att ange COM-gränssnittet som KsProxy-plugin-programmet (encapi.dll) ska exponeras för klienter. COM-gränssnittet bestäms av det egenskapsstöd som du implementerade i kodarfiltret:
| Gränssnitts-GUID | Namn | Beskrivning |
|---|---|---|
{B43C4EEC-8C32-4791-9102-508ADA5EE8E7} |
CLSID_IVideoEncoderProxy |
Ange detta GUID så att KsProxy exponerar COM-gränssnittet för IVideoEncoder (för bakåtkompatibilitet med den äldre generationens kodarstöd som tillhandahålls av Microsoft). Klienter måste härleda det här gränssnittet från COM-gränssnittet IEncoderAPI . |
{7FF0997A-1999-4286-A73C-622B8814E7EB} |
CLSID_ICodecAPIProxy |
Ange detta GUID så att KsProxy exponerar ICodecAPI COM-gränssnittet (för icke-videokodningsenheter som ljudkodare). |
{B05DABD9-56E5-4FDC-AFA4-8A47E91F1C9C} |
CLSID_IVideoEncoderCodecAPIProxy |
Ange detta GUID så att KsProxy exponerar både IVideoEncoder - och ICodecAPI COM-gränssnitten (för bakåt- och framåtkompatibilitet). |
Till exempel:
[Your driver's AddReg section]
HKR,Interfaces\{B43C4EEC-8C32-4791-9102-508ADA5EE8E7},,,
Detta skulle göra att KsProxy endast exponerar COM-gränssnittet IVideoEncoder (CLSID_IVideoEncoderProxy).
Dessa COM-gränssnitt dokumenteras i avsnittet DirectShow i DirectX 9 och Windows SDK:er för Windows XP med SP1 och senare.
Metadatavärden som annonserar kodarfiltrets funktioner
Du kan ange metadatavärden i området Enhetsparametrar\Funktioner i registret i kodarens INF-fil. Program kan använda dessa metadatavärden för att avgöra vilka funktioner som ska implementeras eller exponeras för användaren.
Till exempel:
[Your driver's AddReg section]
HKR,Capabilities,,,
HKR,Capabilities,"{12345678-1234-1234-1234-12345678abcd}",,guid1
Detta skulle skapa ett metadataobjekt {12345678-1234-1234-1234-12345678abcd} = guid1" i området Enhetsparametrar\Funktioner i kodarens registerinställningar. Den tomma raden är nödvändig för att skapa registernyckeln om den inte redan finns.
Ett kodarfilter kan ange sådana statiska metadata i inf-filen för användning av program. Windows XP Media Center Edition söker till exempel efter kodare som anger att de är Windows XP Media Center Edition-kompatibla.
Filtrets kernelströmningskategori
Kernel-direktuppspelningsfilter måste ange den kernelströmningskategori som de tillhör. Microsoft definierar GUID:er för vanliga kategorier, inklusive kodarfilter och multiplexerfilter (mux).
Filter anger sina respektive kategorier genom att ange en eller flera av följande GUID:er i ett AddInterface-direktiv i filtrets avsnitt i dess minimejsels INF-fil:
| GUID för Kernel-strömningskategori | Namn | Beskrivning |
|---|---|---|
{19689BF6-C384-48FD-AD51-90E58C79F70B} |
KSCATEGORY_ENCODER |
Ange detta GUID för kodarfilter. |
{7A5DE1D3-01A1-452C-B481-4FA2B96271E8} |
KSCATEGORY_MULTIPLEXER |
Ange detta GUID för mux-filter. |
Om du vill registrera ett kodarfilter anger du KSCATEGORY_ENCODER GUID i drivrutinens DDInstall. Gränssnitt INF-filavsnitt. Till exempel:
[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"
Obs: det GUID som anges för KSNAME_Filter måste matcha ReferenceGuid-medlemmen som du angav i strukturen KSFILTER_DESCRIPTOR som beskriver ditt filter.