Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
** En adapters egenutvecklade dataskärningshanterare (miniportdrivrutinsobjektets IMiniport::DataRangeIntersection-metod) kan neka att utföra dataskärningskontrollen genom att returnera STATUS_NOT_IMPLEMENTED-statuskoden. I det här fallet utför portdrivrutinens standardhanterare för datakorsning kontrollen för adapterns räkning.
Du kan implementera en minimal hanterare för dataskärning för din adapterdrivrutin som en DataRangeIntersection-metod som avböjer alla dataskärningsförfrågningar genom att returnera STATUS_NOT_IMPLEMENTED.
Den aktuella implementeringen av portdrivrutinens standardhanterare är begränsad i de typer av dataområden som den kan hantera:
Endast PCM-dataformat
Endast mono- och stereoljudströmmar
En adapterdrivrutin som stöder icke-PCM- eller flerkanalsformat bör implementera en egen dataintersektionshanterare istället för att förlita sig på portdrivrutinen för att hantera dataintersektioner för dessa format.
Dessutom stöder standardhanteraren endast ljudformat som kan anges av en KSDATAFORMAT_DSOUND eller KSDATAFORMAT_WAVEFORMATEX struktur. Det stöder inte något format som innehåller en WAVEFORMATEXTENSIBLE-struktur , som till exempel behövs för att ange kanalmasken för ett format med fler än två kanaler.
När du väljer ett gemensamt format från skärningspunkten mellan två dataintervall väljer portdrivrutinens standardhanterare alltid det högsta värdet i varje parameters skärningsregion:
Om skärningspunkten sträcker sig över mer än en giltig exempelfrekvens (till exempel 11, 22 och 44 kHz) väljer standardhanteraren den högsta frekvensen.
Om skärningspunkten sträcker sig över mer än ett giltigt bit-per-sample-värde (till exempel 8, 16 och 32 bitar) väljer standardhanteraren det största värdet.
Om skärningspunkten sträcker sig över både mono- och stereoformat väljer standardhanteraren stereo.
Om standardhanteraren väljer ett format som inte är tillfredsställande har adapterdrivrutinen möjlighet att avvisa formatet genom att avslå NewStream-anropet (se till exempel IMiniportWavePci::NewStream) när SysAudio försöker skapa en mottagarpinne med formatet. Om anropet misslyckas fortsätter SysAudio inte att söka efter datakorsningar. I stället försöker den skapa en anslutning genom att iterera genom en lista över PCM-format som stöds av systemfilter som KMixer tills den hittar en som adapterns mottagarstift också kan stödja. Listan sorteras först med format med högre kvalitet. Precis som tidigare avvisar adaptern otillfredsställande format i listan genom att misslyckas med NewStream-anropen för dessa format.