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.
Format danych to pojedynczy zestaw parametrów opisujących jakiś aspekt połączenia. Na przykład format danych audio może określać szczególny sposób przedstawiania dźwięku przy X próbkach na sekundę i Y bitach na próbkę.
Zakres danych określa sekwencję prawidłowych parametrów. Na przykład zakres danych audio może określać określony format dźwięku w próbkach A-B na sekundę i bitach C-D na próbkę.
Minidriver udostępnia listę zakresów danych, które obsługuje dla określonego pinu w członku DataRanges w ramach odpowiedniej struktury KSPIN_DESCRIPTOR.
W AVStream minidrivery mogą dostarczać własne procedury przecięcia zakresów danych, przekazując wskaźnik do procedury wywołania zwrotnego dostarczonej przez minidriver w elemencie IntersectHandlerKSPIN_DESCRIPTOR_EX. Aby umożliwić usłudze AVStream przecięcie zakresów, ustaw ten element członkowski na wartość NULL. Zobacz AVStrMiniIntersectHandlerEx , aby dowiedzieć się, jak zdefiniować procedurę wywołania zwrotnego.
Jeśli minidriver udostępnia procedurę obsługi przecięć, kiedy potrzebne jest przecięcie, minidriver odbiera dwa zakresy danych, które zgadzają się w typie głównym, podformacie i specyfikatorze. Ponadto wymagane atrybuty zakresów danych są zgodne.
Jeśli zakresy przecinają się i wystarczająca ilość miejsca buforu jest podana w parametrze Data procedury wywołania zwrotnego AVStrMiniIntersectHandlerEx , procedura przecięcia wybiera format w przecięciu i zwraca go do obiektu wywołującego w buforze wskazywanym przez dane.
Jeśli dwa zakresy danych nie przecinają się, program obsługi zwraca STATUS_NO_MATCH.
Jeśli minidriver określiła dysponenta AVStrMiniPinSetDataFormat, AVStream wywołuje tę dyspozycję, aby poinformować minidriver, że AVStream ustawia określony format na pinie. Podaj wskaźnik do procedury wywołania zwrotnego AVStrMiniPinSetDataFormat w elemencie SetDataFormat struktury KSPIN_DISPATCH. (Minidrivery, które są klientami klasy strumieniaodbierają SRB_SET_DATA_FORMAT zamiast AVStrMiniPinSetDataFormat).
Minidriver może odrzucić proponowany format, zwracając STATUS_NO_MATCH z AVStrMiniPinSetDataFormat.
Oprócz początkowego wywołania AVStrMiniPinSetDataFormat przed utworzeniem pinu, twój minidriver może odebrać drugie wywołanie AVStrMiniPinSetDataFormat tuż przed przejściem pinu do stanu RUN. Jeśli klient klasy AVStream lub stream jest minidriver przechwytywania wideo i otrzymasz takie powiadomienie, ta wysyłka zawiera rzeczywiste parametry powierzchni. Jeśli to możliwe, minidriver nie powinien uruchomić tej drugiej zmiany formatu. Nie zakładaj, że dojdzie do drugiego wywołania.
Minidriver powinien przechwytywać dane w każdym formacie zawartym w ostatnim pomyślnym wysłaniu AVStrMiniPinSetDataFormat .