IOCTL_AVCSTRM_CLASS IOCTL (avcstrm.h)
Ein AV/C-Untereinheitstreiber verwendet das IRP_MJ_INTERNAL_DEVICE_CONTROL IRP, wobei das IoControlCode- element auf IOCTL_AVCSTRM_CLASS festgelegt ist, um mit avcstrm.syszu kommunizieren. Der Treiber hat Zugriff auf alle Vorgänge, die vom AV/C Streaming-Filtertreiber (avcstrm.sys) über diese Anforderung bereitgestellt werden.
Weitere Informationen zu IRPs und IOCTLs finden Sie unter Handling IRPs.
Hauptcode
Eingabepuffer
Bei eingaben verweist Irp->Parameters->Others.Arguments1 auf eine AVC_STREAM_REQUEST_BLOCK Struktur. Das Function Member der AVC_STREAM_REQUEST_BLOCK gibt den Anforderungstyp an. Legen Sie dieses Element nicht direkt fest. Verwenden Sie das INIT_AVCSTRM_HEADER Makro, um dieses Element zu initialisieren (sowie zusätzliche Member der AVC_STREAM_REQUEST_BLOCK-Struktur). Das CommandData- Mitglied der AVC_STREAM_REQUEST_BLOCK ist eine Union, die die anforderungstypspezifischen Parameter der Anforderung angibt. Die Parameter und deren Bedeutung werden mit jeder Anforderung (Funktionscode) dokumentiert. Die AVCSTRM_FUNCTION-Aufzählung stellt eine Liste von Funktionscodes bereit, die von avcstrm.sysunterstützt werden.
Eingabepufferlänge
Länge einer AVC_STREAM_REQUEST_BLOCK Struktur.
Ausgabepuffer
Bei der Ausgabe zeigt Irp->Parameters->Others.Arguments1 auf die als Eingabe übergebene AVC_STREAM_REQUEST_BLOCK Struktur. Im Rahmen der Anforderung füllt der Bustreiber bestimmte Mitglieder der CommandData Vereinigung der AVC_STREAM_REQUEST_BLOCK Struktur mit Informationen für den Fahrer aus.
Länge des Ausgabepuffers
Länge einer AVC_STREAM_REQUEST_BLOCK Struktur.
Statusblock
Die Informationen, die der AV/C Streaming-Treiber im E/A-Statusblock zurückgibt, wird mit jeder Anforderung dokumentiert.
Bemerkungen
Muss bei IRQL = PASSIVE_LEVEL aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Header- | avcstrm.h (include Avcstrm.h) |