Udostępnij przez


Zakresy danych z wartościami dyskretnymi

Jeśli urządzenie audio obsługuje częstotliwości próbkowania 11, 22 i 44 kHz, na przykład można określić wszystkie trzy częstotliwości jako zakres od 11 do 44 kHz w jednej strukturze KSDATARANGE_AUDIO . Ta technika ma zaletę zwięzłości. Potencjalną wadą jest to, że błędny program obsługi przecinania się danych może wybrać nieprawidłową wartość parametru (na przykład 27 kHz), która znajduje się w zakresie. W takim przypadku sterownik adaptera musi przerwać wywołanie NewStream (na przykład zobacz IMiniportWavePci::NewStream), które próbuje utworzyć pin z nieprawidłowym formatem.

Innym podejściem jest podanie listy zakresów danych, w których każdy zakres danych określa wartość dyskretną, a nie zakres wartości dla każdego parametru. Na przykład zamiast dostarczać pojedynczy zakres danych, aby określić zakres częstotliwości próbki z zakresu od 11 do 44 kHz, tablica zakresów danych może zawierać trzy oddzielne elementy dla 11, 22 i 44 kHz. W każdym z tych elementów maksymalne i minimalne częstotliwości próbek są ustawione na tę samą wartość (11, 22 lub 44 kHz). Zaletą tego podejścia jest to, że eliminuje wszelkie niejednoznaczności dotyczące dokładnych wartości, które są obsługiwane. Ponadto jeśli jedna wartość dyskretna jest preferowana w innym, zakres danych zawierający tę wartość może zostać przeniesiony do pozycji w tablicy, która jest przed zakresem danych zawierającym drugą wartość. Niewielką wadą wartości dyskretnych jest to, że mogą one zwiększyć rozmiar tablicy zakresów danych.