IOCTL_AVCSTRM_CLASS IOCTL (avcstrm.h)

An AV/C subunit driver uses the IRP_MJ_INTERNAL_DEVICE_CONTROL IRP, with the IoControlCode member set to IOCTL_AVCSTRM_CLASS, to communicate with avcstrm.sys. The driver has access to all operations provided by the AV/C Streaming filter driver (avcstrm.sys) through this request.

For more information about IRPs and IOCTLs, see Handling IRPs.

Major code

IRP_MJ_DEVICE_CONTROL

Input buffer

On input, Irp->Parameters->Others.Arguments1 points to an AVC_STREAM_REQUEST_BLOCK structure. The Function member of the AVC_STREAM_REQUEST_BLOCK specifies the type of request. Do not set this member directly. Use the INIT_AVCSTRM_HEADER macro to initialize this member (as well as additional members of the AVC_STREAM_REQUEST_BLOCK structure). The CommandData member of the AVC_STREAM_REQUEST_BLOCK is a union that specifies the request-type-specific parameters of the request. The parameters and their meaning are documented with each request (function code). The AVCSTRM_FUNCTION enumeration provides a list of function codes supported by avcstrm.sys.

Input buffer length

Length of an AVC_STREAM_REQUEST_BLOCK structure.

Output buffer

On output, Irp->Parameters->Others.Arguments1 points to the AVC_STREAM_REQUEST_BLOCK structure passed as input. As part of completing the request, the bus driver fills in certain members of the CommandData union of the AVC_STREAM_REQUEST_BLOCK structure with information for the driver.

Output buffer length

Length of an AVC_STREAM_REQUEST_BLOCK structure.

Status block

The information the AV/C Streaming driver returns in the I/O Status Block is documented with each request.

Remarks

Must be called at IRQL = PASSIVE_LEVEL.

Requirements

Requirement Value
Header avcstrm.h (include Avcstrm.h)

See also

AVCSTRM_ABORT_STREAMING

AVCSTRM_CLOSE

AVCSTRM_GET_PROPERTY

AVCSTRM_GET_STATE

AVCSTRM_OPEN

AVCSTRM_READ

AVCSTRM_SET_PROPERTY

AVCSTRM_SET_STATE

AVCSTRM_WRITE