Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Plik INF sterownika z filtrem kodera musi zawierać wpisy, które definiują następujące elementy:
Dodatkowe składniki przechwytywania przesyłania strumieniowego jądra
Który interfejs COM KsProxy powinien uwidocznić
Wartości metadanych opisujące możliwości filtru kodera
Kategoria strumieniowania jądra systemu filtru
Dodatkowe składniki przechwytywania przesyłania strumieniowego jądra
Plik INF używany do instalowania sterownika dla urządzenia kodera musi odwoływać się do ks.inf i kscaptur.inf w sekcji [DefaultInstall] jako sterowników przechwytywania, ponieważ te pliki dodają niezbędną obsługę składników kodera. Przykład:
[DefaultInstall]
include=ks.inf,kscaptur.inf
needs=[Your driver's DDInstall section],KS.Registration,KSCAPTUR.Registration.NT
Który interfejs COM KsProxy powinien uwidocznić
W sekcji AddReg pliku INF sterownika określ jeden z następujących trzech identyfikatorów GUID, aby wskazać interfejs COM, który wtyczka KsProxy (encapi.dll) powinna udostępnić klientom. Interfejs COM jest określany przez obsługę właściwości zaimplementowaną w filtrze kodera:
| Identyfikator GUID interfejsu | Nazwa | Opis |
|---|---|---|
{B43C4EEC-8C32-4791-9102-508ADA5EE8E7} |
CLSID_IVideoEncoderProxy |
Określ ten identyfikator GUID, aby umożliwić KsProxy uwidocznienie interfejsu COM IVideoEncoder (w celu zapewnienia zgodności ze starszą generacją obsługi kodera dostarczonego przez firmę Microsoft). Klienci muszą uzyskać ten interfejs z interfejsu IEncoderAPI COM. |
{7FF0997A-1999-4286-A73C-622B8814E7EB} |
CLSID_ICodecAPIProxy |
Określ ten identyfikator GUID, aby spowodować uwidocznienie interfejsu COM ICodecAPI (dla urządzeń do kodowania, które nie są przeznaczone do wideo, takich jak kodery audio). |
{B05DABD9-56E5-4FDC-AFA4-8A47E91F1C9C} |
CLSID_IVideoEncoderCodecAPIProxy |
Określ ten identyfikator GUID, aby KsProxy eksponował zarówno interfejsy COM IVideoEncoder, jak i ICodecAPI dla zgodności wstecznej i dalszej. |
Przykład:
[Your driver's AddReg section]
HKR,Interfaces\{B43C4EEC-8C32-4791-9102-508ADA5EE8E7},,,
Powodowałoby to, że KsProxy udostępniałby jedynie interfejs COM IVideoEncoder (CLSID_IVideoEncoderProxy).
Te interfejsy COM są udokumentowane w sekcji DirectShow pakietów SDK DirectX 9 i Windows przeznaczonych dla systemu Windows XP z dodatkiem SP1 lub nowszym.
Wartości metadanych, które anonsują możliwości filtru kodera
Wartości metadanych można określić w obszarze Parametry urządzenia\Możliwości rejestru w pliku INF kodera. Aplikacje mogą używać tych wartości metadanych, aby określić, jakie funkcje mają implementować lub uwidaczniać użytkownikowi.
Przykład:
[Your driver's AddReg section]
HKR,Capabilities,,,
HKR,Capabilities,"{12345678-1234-1234-1234-12345678abcd}",,guid1
Spowoduje to utworzenie elementu metadanych "{12345678-1234-1234-1234-12345678abcd} = guid1" w obszarze Parametry urządzenia\Możliwości ustawień rejestru kodera. Pusty wiersz jest niezbędny do utworzenia klucza rejestru, jeśli jeszcze nie istnieje.
Filtr kodera może określać takie statyczne metadane w pliku INF do użycia przez aplikacje. Na przykład system Windows XP Media Center Edition sprawdza kodery wskazujące, że są one zgodne z wersją Windows XP Media Center Edition.
Kategoria przesyłania strumieniowego jądra filtru
Filtry strumieniowania jądra muszą określać kategorię strumieniowania, do której należą. Firma Microsoft definiuje identyfikatory GUID dla typowych kategorii, w tym filtry kodujące oraz filtry multipleksera (mux).
Filtry wskazują odpowiednie kategorie, określając co najmniej jeden z następujących identyfikatorów GUID w dyrektywie AddInterface sekcji filtru w pliku INF swojego minidrivera:
| Identyfikator GUID dla kategorii przesyłania strumieniowego w jądrze | Nazwa | Opis |
|---|---|---|
{19689BF6-C384-48FD-AD51-90E58C79F70B} |
KSCATEGORY_ENCODER |
Określ ten identyfikator GUID dla filtrów kodera. |
{7A5DE1D3-01A1-452C-B481-4FA2B96271E8} |
KSCATEGORY_MULTIPLEXER |
Określ ten identyfikator GUID dla filtrów mux. |
Aby zarejestrować filtr kodera, określ identyfikator GUID KSCATEGORY_ENCODER w sekcji DDInstall.Interfejs pliku INF sterownika. Przykład:
[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"
Uwaga: Identyfikator GUID określony dla KSNAME_Filter musi być zgodny z członkiem ReferenceGuid który określiliście w strukturze KSFILTER_DESCRIPTOR opisującej filtr.