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
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) |