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.
Uwaga Ta sekcja zawiera szczegółowe informacje o nieaktualnym sterowniku klasy Stream.sys. W wersji systemu Microsoft Windows XP firma Microsoft obsługuje Stream.sys tylko dla istniejących sterowników. W tej wersji firma Microsoft zaleca, aby dostawcy rozważyli opracowanie nowych sterowników multimedialnych wideo lub audio/wideo przy użyciu modelu sterownika klasy AVStream. ** Zobacz szczegóły w AVStream Overview. Jeśli tworzysz sterownik tylko do dźwięku, należy napisać sterownik miniportu audio w ramach dostarczonego przez firmę Microsoft sterownika klasy Portcls.sys . Aby uzyskać szczegółowe informacje, zobacz Audio Miniport Drivers (Sterowniki miniportu audio).
Dostawcy mogą obsługiwać urządzenia wideo lub audio/wideo, udostępniając minidriver działający na dostarczonym przez firmę Microsoft sterowniku klasy Stream.sys. W tej dokumentacji minidriverami dostarczonymi przez dostawcę w Stream.sys są nazywane minidriverami strumieniowymi.
Na przykład urządzenia do przechwytywania wideo i odtwarzacze DVD mogą być obsługiwane za pomocą minidriverów przesyłania strumieniowego. Aby uzyskać informacje specyficzne dla technologii, zobacz Video Capture Devices i DVD Decoder Minidrivers.
Minidrivery przesyłania strumieniowego obsługują semantykę strumieniowego przesyłania jądra. Aby użyć tego dokumentu, deweloperzy sterowników powinni zapoznać się z podstawowymi pojęciami dotyczącymi przesyłania strumieniowego jądra, jak wyjaśniono w artykule Przesyłanie strumieniowe jądra.
Sterownik klasy strumieniowej został zaprojektowany, aby ułatwić pisanie sterowników sprzętowych dla urządzeń strumieniowych poprzez obsługę wielu aspektów interakcji z systemem operacyjnym.
Minidriver może zezwolić sterownikowi klasy strumienia na obsługę synchronizacji w jego imieniu. Na przykład sterownik klasy strumienia może opcjonalnie serializować żądania we/wy dla minidrivera. Zezwolenie sterownikowi klasy na obsługę synchronizacji sprawia, że minidriver jest bezpieczny dla multiprocesorów, ale niereentrantny. Jest to odpowiednie dla sprzętu od niskiej do średniej klasy.
Sterownik klasy automatycznie synchronizuje operacje na plikach. Na przykład otwarcie strumienia i urządzenia są poprawnie serializowane bez użycia minidrivera przy użyciu muteksów, semaforów lub zdarzeń.
Sterownik klasy abstrahuje implementację semantyki przesyłania strumieniowego jądra z minidriver.
Sterownik klasy obsługuje całą interakcję z menedżerem PnP. Na przykład:
- Sterownik klasy tworzy obiekt urządzenia funkcjonalnego w imieniu minidrivera.
- Sterownik klasy zarządza konfiguracją zasobów (taką jak tłumaczenie adresów portów, tłumaczenie i mapowanie zakresów pamięci oraz łączenie przerwań).
- Sterownik klasy obsługuje środowiska IRP PnP, takie jak IRP_MN_START_DEVICE lub IRP_MN_STOP_DEVICE.
Wszystkie zarządzanie buforem niskiego poziomu jest obsługiwane przez sterownik klasy:
- Przydzielanie obiektu adaptera DMA, jeśli to konieczne.
- Mapowanie buforów i tworzenie list scatter/gather dla DMA.
- Prawidłowe blokowanie i opróżnianie buforów zarówno dla DMA, jak i PIO.
Wszystkie weryfikacje parametrów IOCTL są wykonywane przez sterownik klasy.
Wszystkie żądania są mierzone czasowo przez sterownik klasy, który korzysta z watchdogowego czasomierza.
Minidriver nie tworzy obiektu urządzenia, ale udostępnia obiekt urządzenia sterownika klasy w razie potrzeby. Pozwala to zaoszczędzić zasoby systemowe.
Dla jednego adaptera tworzony jest tylko jeden obiekt urządzenia. Wiele urządzeń podrzędnych (nazywanych strumieniami) obsługiwanych przez kartę jest reprezentowanych przez wyprowadzenia przesyłania strumieniowego jądra.