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.
Die AVStrMiniPinSetDataFormat Routine eines AVStream Minidrivers wird zur Pinerstellungszeit aufgerufen, um zu überprüfen, ob das zuvor vereinbarte Datenformat für diese KSPIN- Struktur und eine Übereinstimmung für diese KSDATARANGE- Struktur akzeptabel ist. Diese Routine wird auch aufgrund bestimmter Arten von dynamischen Formatänderungen aufgerufen, z. B. die Annahme einer KSPROPERTY_CONNECTION_PROPOSEDATAFORMAT Eigenschaftsanforderung.
Syntax
PFNKSPINSETDATAFORMAT Pfnkspinsetdataformat;
NTSTATUS Pfnkspinsetdataformat(
[in] PKSPIN Pin,
[in, optional] PKSDATAFORMAT OldFormat,
[in, optional] PKSMULTIPLE_ITEM OldAttributeList,
[in] const KSDATARANGE *DataRange,
[in, optional] const KSATTRIBUTE_LIST *AttributeRange
)
{...}
Parameter
[in] Pin
Zeigen Sie auf die KSPIN- Struktur, für die sich das Datenformat ändert.
[in, optional] OldFormat
Wahlfrei. Zeiger auf eine KSDATAFORMAT--Struktur. Minidriver können dieses Feld verwenden, um das Datenformat zu bestimmen, das die Pin vor diesem Aufruf verwendet hat. Wenn NULL-, gibt an, dass kein Datenformat für den Pin festgelegt wurde und dass Pins Erstellen des Versands noch nicht erstellt wurde. Ein NULL- Wert gibt an, dass diese Routine zur Überprüfung der Formatierung zur Initialisierung aufgerufen wurde.
[in, optional] OldAttributeList
Wahlfrei. Zeigen Sie auf eine KSMULTIPLE_ITEM Struktur, die Attribute für das vorherige Format speichert.
[in] DataRange
Zeiger auf eine KSDATARANGE Struktur. Der Datenbereich für das neue Format.
[in, optional] AttributeRange
Wahlfrei. Der Attributbereich für das neue Format.
Rückgabewert
Gibt STATUS_SUCCESS zurück, wenn ConnectionFormat-Element Mitglied dem Bereich entspricht, der an diese Routine übergeben wurde. Gibt STATUS_NO_MATCH zurück, wenn ConnectionFormat- nicht mit dem übergebenen Bereich übereinstimmt, und der Minidriver möchte weiterhin versuchen, eine Übereinstimmung mit einem anderen Bereich zu finden. Gibt einen Fehlercode der Wahl zurück, wenn ConnectionFormat- nicht mit dem übergebenen Bereich übereinstimmt und der Minidriver nicht versuchen möchte, eine Übereinstimmung mit einem anderen Bereich zu finden. Geben Sie STATUS_PENDING nicht zurück.
Bemerkungen
In einem Ring 3-Diagramm legt das Kernel Streaming Proxy-Modul (KsProxy) das Datenformat basierend auf dem vereinbarten Verbindungsformat oder einer dynamischen Formatänderung fest. KsProxy gibt eine KSPROPERTY_CONNECTION_DATAFORMAT Anforderung aus, die nach einiger anfänglicher Überprüfung in diesen Dispatch-Aufruf an den Minidriver übersetzt wird. Siehe Kernel-Streamingproxy-. Weitere Informationen finden Sie unter KS Data Formats and Data Ranges und DataRange Intersections in AVStream.
Der Minidriver gibt die Adresse für AVStrMiniPinSetDataFormat- im SetDataFormat-element der KSPIN_DISPATCH Struktur an.
Diese Routine kann aufgerufen werden, bevor der Pin eine IRP_MJ_CREATEempfängt, und Minidriver sollten darauf vorbereitet sein, diese Situation zu bewältigen.
OldFormat, OldAttributeListund AttributeRange sind alle optionalen Parameter und können NULL-sein.
Diese Routine ist optional.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte Client- | Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und DirectX 8.0 und höher directX-Versionen. |
| Zielplattform- | Desktop |
| Header- | ks.h (enthalten Ks.h) |
| IRQL- | PASSIVE_LEVEL |