Teilen über


Unterstützung mehrerer Streams

Der Minidriver beschreibt die Datenströme, die er in seiner StrMiniReceiveDevicePacket-Routine als Reaktion auf eine SRB_GET_STREAM_INFO-Anforderung unterstützt. CommandData.StreamBuffer verweist auf die HW_STREAM_DESCRIPTOR Struktur, die der Minitreiber mit einer Beschreibung der unterstützten Datenströme füllen sollte.

Die HW_STREAM_DESCRIPTOR-Struktur beginnt mit einer HW_STREAM_HEADER-Struktur , die die Anzahl der Datenströme beschreibt, die der Minitreiber unterstützt. Es folgt ein Array von HW_STREAM_INFORMATION Strukturen, von denen jede einen einzelnen Stream beschreibt. Der Klassentreiber verwendet jeden HW_STREAM_INFORMATION, um den KSPROPSETID_Pin Eigenschaftensatz zu verarbeiten . Der Index innerhalb des Arrays dient als Pintyp-ID.

Bei den meisten Minidrivern werden die Daten im HW_STREAM_DESCRIPTOR zur Kompilierzeit korrigiert. In diesem Fall kann der Minidriver die Datenstruktur statisch zuordnen.

Der Minitreiber beschreibt die Topologie der Verbindungen zwischen seinen Datenströmen über den Topologiemember von HW_STREAM_HEADER. Die Klassentreiber verwenden diese Struktur, um die für den Minitreiber festgelegte KSPROPSETID_Topology-Eigenschaft zu verarbeiten.