IOCTL_AVCSTRM_CLASS IOCTL (avcstrm.h)
Un controlador de subunidad de AV/C usa el IRP de IRP_MJ_INTERNAL_DEVICE_CONTROL , con el miembro IoControlCode establecido en IOCTL_AVCSTRM_CLASS, para comunicarse con avcstrm.sys. El controlador tiene acceso a todas las operaciones proporcionadas por el controlador de filtro av/C Streaming (avcstrm.sys) a través de esta solicitud.
Para obtener más información sobre irP e IOPS, consulte Control de IRP.
Código principal
Búfer de entrada
En la entrada, Irp-Parameters-Others.Arguments1>> apunta a una estructura de AVC_STREAM_REQUEST_BLOCK. El miembro Function del AVC_STREAM_REQUEST_BLOCK especifica el tipo de solicitud. No establezca este miembro directamente. Use la macro INIT_AVCSTRM_HEADER para inicializar este miembro (así como miembros adicionales de la estructura AVC_STREAM_REQUEST_BLOCK). El miembro CommandData del AVC_STREAM_REQUEST_BLOCK es una unión que especifica los parámetros específicos del tipo de solicitud de la solicitud. Los parámetros y su significado se documentan con cada solicitud (código de función). La enumeración AVCSTRM_FUNCTION proporciona una lista de códigos de función admitidos por avcstrm.sys.
Longitud del búfer de entrada
Longitud de una estructura AVC_STREAM_REQUEST_BLOCK .
Búfer de salida
En la salida, Irp-Parameters-Others.Arguments1>> apunta a la estructura de AVC_STREAM_REQUEST_BLOCK pasada como entrada. Como parte de la finalización de la solicitud, el controlador de autobús rellena determinados miembros de la unión CommandData de la estructura AVC_STREAM_REQUEST_BLOCK con información para el conductor.
Longitud del búfer de salida
Longitud de una estructura AVC_STREAM_REQUEST_BLOCK .
Bloque de estado
La información que devuelve el controlador de streaming de AV/C en el bloque de estado de E/S se documenta con cada solicitud.
Comentarios
Se debe llamar a en IRQL = PASSIVE_LEVEL.
Requisitos
Requisito | Valor |
---|---|
Header | avcstrm.h (incluya Avcstrm.h) |