IRB_REQ_ASYNC_WRITE structure (1394.h)
This structure contains the fields necessary for the 1394 stack to carry out an asynchronous write request.
Syntax
typedef struct _IRB_REQ_ASYNC_WRITE {
IO_ADDRESS DestinationAddress;
ULONG nNumberOfBytesToWrite;
ULONG nBlockSize;
ULONG fulFlags;
PMDL Mdl;
ULONG ulGeneration;
UCHAR chPriority;
UCHAR nSpeed;
UCHAR tCode;
UCHAR Reserved;
ULONG ElapsedTime;
} IRB_REQ_ASYNC_WRITE;
Members
DestinationAddress
Specifies the 1394 64-bit destination address for this write operation. The driver only must fill in the IA_Destination_Offset member of u.AsyncWrite.DestinationAddress; the bus driver fills in the IA_Destination_ID member. See IO_ADDRESS for the structure description.
nNumberOfBytesToWrite
Specifies the number of bytes to write to the 1394 node.
nBlockSize
Specifies the size of each individual block within the data stream that is written as a whole to the node. If this parameter is zero, then the maximum packet size for the speed selected is used in breaking up these write requests, unless raw-mode addressing is used.
If raw-mode addressing is used, the client driver should set the nBlockSize member to the maximum asynchronous payload size that is supported by the device at the connected speed.
For more information on raw-mode addressing, see Sending Asynchronous I/O Request Packets on the IEEE 1394 Bus.
fulFlags
Specifies any nondefault settings for this operation. The following flags are provided.
Flag | Description |
---|---|
ASYNC_FLAGS_NONINCREMENTING | Do not increment 1394 address during asynchronous operation. This flag is set only in large asynchronous requests (that is, those greater than asynchronous packet size). |
ASYNC_FLAGS_NO_STATUS | Always return success from the write operation, whether the write succeeds or fails. |
ASYNC_FLAGS_BROADCAST | Broadcast to all nodes on the bus. |
Use the bitwise operator OR to combine the settings.
Mdl
Points to an MDL that describes the device driver's buffer, which receives data from the 1394 node.
ulGeneration
Specifies the bus reset generation as known by the device driver that submitted this asynchronous request. If the generation count specified does not match the actual generation of the bus, this request is returned with a status of STATUS_INVALID_GENERATION.
chPriority
Reserved.
nSpeed
Reserved.
tCode
Reserved.
Reserved
Reserved.
ElapsedTime
Elapsed time in nanoseconds. Only valid for flag ASYNC_FLAGS_PING.
Requirements
Requirement | Value |
---|---|
Header | 1394.h |
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for