Stöd för flera strömmar

Minidrivern beskriver de strömmar som den stöder i sin StrMiniReceiveDevicePacket-rutin, som svar på en begäran om SRB_GET_STREAM_INFO. CommandData.StreamBuffer pekar på HW_STREAM_DESCRIPTOR-strukturen som minidrivern ska fylla i med en beskrivning av de strömmar som den stöder.

Strukturen HW_STREAM_DESCRIPTOR börjar med en HW_STREAM_HEADER-struktur, som beskriver antalet strömmar som minidrivrutinen stöder. Den följs av en matris med HW_STREAM_INFORMATION strukturer, som var och en beskriver en enskild ström. Klassdrivrutinen använder varje HW_STREAM_INFORMATION för att hantera KSPROPSETID_Pin egenskapsuppsättning – indexet i matrisen fungerar som pin-typ-ID.

För de flesta minidrivrutiner fastställs data i HW_STREAM_DESCRIPTOR vid kompilering. I så fall kan minidrivrutinen allokera datastrukturen statiskt.

Minidrivrutinen beskriver topologin för anslutningar mellan dess strömmar via Topology-medlemmen i HW_STREAM_HEADER. Klassdrivrutinerna använder den här strukturen för att hantera KSPROPSETID_Topology-egenskapsuppsättningen för minidrivrutinen.