Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sowohl der Minidriver als Ganzes als auch einzelne Streams können Eigenschaftenanforderungen empfangen. Der Minitreiber stellt die -Eigenschaft bereit, die er unterstützt, in devicePropertiesArray von HW_STREAM_HEADER. Jeder Stream stellt die -Eigenschaft bereit, die er in streamPropertiesArray der HW_STREAM_INFORMATION-Struktur für diesen Stream unterstützt.
Der Minidriver definiert einen Eigenschaftensatz, den er über die KSPROPERTY_SET Datenstruktur verarbeitet, die wiederum auf das Array von KSPROPERTY_ITEM-Strukturen verweist, eine für jede Eigenschaft im Eigenschaftensatz. Wenn das GetSupported-Element von KSPROPERTY_ITEM TRUE ist, unterstützt der Minitreiber das Abrufen der Eigenschaftsdaten. Wenn das SetSupported-Element von KSPROPERTY_ITEM TRUE ist, unterstützt der Minidriver das Festlegen der Eigenschaftendaten.
Die meisten Anforderungen für die Unterstützung von Eigenschaften werden automatisch vom Klassentreiber verarbeitet, wobei informationen verwendet werden, die der Minitreiber in der KSPROPERTY_ITEM-Struktur für die Eigenschaft bereitstellt. Wenn der Klassentreiber z. B. eine KSPROPERTY_TYPE_BASICSUPPORT-Anforderung empfängt, sucht er den Datentyp und die Wertbereiche im Values-Member von KSPROPERTY_ITEM. Weitere Informationen finden Sie unter KSPROPERTY_ITEM . Wenn der Minidriver eine benutzerdefinierte Verarbeitung einer Supportanfrage durchführen muss (was selten ist), kann er das SupportHandler-Element von KSPROPERTY_ITEM auf TRUE festlegen. Der Klassentreiber verarbeitet dann die Supportanfrage so, als ob es sich um eine Anforderung zum Abrufen von Eigenschaften handelte. Der Minidriver kann den tatsächlichen Typ der Anforderung über den Flags-Member des Eigenschaftenbezeichners ermitteln.
Der Klassentreiber ruft minidriver-Eigenschaften ab oder legt diese fest, indem er eine SRB_GET_DEVICE_PROPERTY - oder SRB_SET_DEVICE_PROPERTY-Anforderung an die StrMiniReceiveDevicePacket-Routine des Minitreibers übergibt. Der Klassentreiber ruft Streameigenschaften ab oder legt diese fest, indem er eine SRB_GET_STREAM_PROPERTY- oder SRB_SET_STREAM_PROPERTY-Anforderung an die StrMiniReceiveStreamControlPacket-Routine des Streams übergibt.
Der Klassentreiber verarbeitet viele Eigenschaften im Namen des Minitreibers, wobei gelegentlich eine Unterstützung des Minitreibers durch einen der Rückrufe des Minitreibers erfolgt. Der Minidriver definiert diese Eigenschaften nicht in seinen Eigenschaftensatzarrays. Eine Erläuterung dazu, wie der Klassentreiber die KSPROPSETID_Pin und KSPROPSETID_Topology Eigenschaftensätze behandelt, finden Sie unter Unterstützen mehrerer Streams.