AVC_STREAM_REQUEST_BLOCK structure (avcstrm.h)
The AVC_STREAM_REQUEST_BLOCK structure describes an AV/C streaming request to be processed by avcstrm.sys.
Syntax
typedef struct _AVC_STREAM_REQUEST_BLOCK {
ULONG SizeOfThisBlock;
ULONG Version;
AVCSTRM_FUNCTION Function;
ULONG Flags;
NTSTATUS Status;
PVOID AVCStreamContext;
PVOID Context1;
PVOID Context2;
PVOID Context3;
PVOID Context4;
ULONG Reserved[4];
union {
KSSTATE StreamState;
AVCSTRM_OPEN_STRUCT OpenStruct;
AVCSTRM_BUFFER_STRUCT BufferStruct;
} CommandData;
_tagCommandData _tagCommandData;
} AVC_STREAM_REQUEST_BLOCK, *PAVC_STREAM_REQUEST_BLOCK;
Members
SizeOfThisBlock
Specifies the size of the request block in bytes. Do not set this value directly. Instead, use the INIT_AVCSTRM_HEADER macro.
Version
Specifies the version of avcstrm.sys device driver interface (DDI) to service a request. Do not set this value directly. Instead, use the INIT_AVCSTRM_HEADER macro.
Function
Indicates the request (function code) avcstrm.sys services. This must be a value from the AVCSTRM_FUNCTION enumeration. Do not set this value directly. Instead, use the INIT_AVCSTRM_HEADER macro.
Flags
Special flags to indicate special service or deviation from standard service. This is currently not used.
Status
Final status of this request.
AVCStreamContext
This is context (handle) of a stream. Set this to NULL for the AVCSTRM_OPEN function code. For other function codes, this must be set to a valid value retrieved from an earlier call to AVCSTRM_OPEN.
Context1
The context pointers of the client.
Context2
The context pointers of the client.
Context3
The context pointers of the client.
Context4
The context pointers of the client.
Reserved[4]
Reserved. Do not use.
CommandData
This is a union of command data to be passed to avcstrm.sys for service.
Flag | Description |
---|---|
StreamState | Specifies the current state of the specified stream. This is used with the AVCSTRM_GET_STATE and AVCSTRM_SET_STATE function codes. |
OpenStruct | Specifies a description of a stream to open. This is used with the AVCSTRM_OPEN function code. |
BufferStruct | Specifies a description of a buffer used to read or write data from/to a specified stream. This is used with the AVCSTRM_READ and AVCSTRM_WRITE function codes. |
CommandData.StreamState
Defines the KSSTATE member StreamState.
CommandData.OpenStruct
Defines the AVCSTRM_OPEN_STRUCT member OpenStruct.
CommandData.BufferStruct
Defines the AVCSTRM_BUFFER_STRUCT member BufferStruct.
_tagCommandData
Defines the _tagCommandData member _tagCommandData.
Remarks
The AVC_STREAM_REQUEST_BLOCK is the primary structure used by a subunit driver to interface with avcstrm.sys.
Every AV/C stream request is described by this structure. This structure is passed as part of the IRP to avcstrm.sys for service..
To use this structure, set the IRP's Irp->Parameters->Others.Argument1 member to an allocated and initialized AVC_STREAM_REQUEST_BLOCK that describes the request (functionality) that the subunit driver wants avcstrm.sys to service.
Requirements
Requirement | Value |
---|---|
Header | avcstrm.h (include Avcstrm.h) |