// 1394.h
typedef struct _IRB_REQ_ISOCH_ALLOCATE_RESOURCES_W2K {
ULONG fulSpeed;
ULONG fulFlags;
ULONG nChannel;
ULONG nMaxBytesPerFrame;
ULONG nNumberOfBuffers;
ULONG nMaxBufferSize;
ULONG nQuadletsToStrip;
HANDLE hResource;
} IRB_REQ_ISOCH_ALLOCATE_RESOURCES_W2K;
View the official Windows Driver Kit DDI referenceNo description available.
This structure contains the fields necessary for the 1394 bus driver to carry out a IsochAllocateResources request.
fulSpeedSpecifies the connection speed to use for communication on the channel. The possible speed values are SPEED_FLAGS_xxx, where xxx is the (approximate) transfer rate in megabits per second. Existing hardware supports transfer rates of 100, 200, and 400 Mb/sec.
| Transfer Rate | Description |
|---|---|
| SPEED_FLAGS_100 | 100 Mb/s |
| SPEED_FLAGS_200 | 200 Mb/s |
| SPEED_FLAGS_400 | 400 Mb/s |
Note In Windows 7 and later versions of Windows, you can specify new values higher speed and greater sized payloads. For more information, see New Flags for Speed and Payload Size and IEEE 1394 IOCTL Changes in Device Driver Interface (DDI) Changes in Windows 7.
fulFlagsSpecifies how the bus driver should use any buffers attached to the resource handle. Many of the flags specify how the bus driver should configure the IEEE host controller for DMA from or to attached buffers.
| Flag | Description |
|---|---|
| RESOURCE_USED_IN_LISTENING | Attached buffers are used to read data from an isochronous channel. Set this if the resource handle will be used in a REQUEST_ISOCH_LISTEN request. |
| RESOURCE_USED_IN_TALKING | Attached buffers are used to write data to an isochronous channel. Set this if the resource handle will be used in a REQUEST_ISOCH_TALK request. |
| RESOURCE_STRIP_ADDITIONAL_QUADLETS | The bus driver configures the host controller to strip additional quadlets from incoming isochronous packets. The number of quadlets to be stripped is specified in nQuadletsToStrip. |
| RESOURCE_SYNCH_ON_TIME | The bus driver configures the host controller to synchronize the beginning of the isochronous transaction to the CYCLE_TIME specified in the StartTime member of the request's IRB. See REQUEST_ISOCH_LISTEN or REQUEST_ISOCH_TALK. |
| RESOURCE_USE_PACKET_BASED | Used to switch to packet-based transfer, rather than the default. The default is stream-based transfer, unless the host controller only supports packet-based DMA. |
| RESOURCE_USE_MULTICHANNEL | The driver owning this resource listens on multiple channels. |
| RESOURCE_VARIABLE_ISOCH_PAYLOAD | The driver owning this resource transfers frames of variable size. |
nChannelSpecifies the isochronous channel for all transactions involving the resource handle allocated by this request.
nMaxBytesPerFrameSpecifies the expected maximum isochronous frame size while transmitting and receiving on the channel.
nNumberOfBuffersSpecifies one more than the maximum expected number of buffers that are attached to the resource handle at any given time.
nMaxBufferSizeSpecifies the maximum size of the buffers that are attached to the resource handle.
nQuadletsToStripSpecifies the number of quadlets to strip from the beginning of every packet in an incoming isochronous stream. This parameter is ignored unless the device driver sets the RESOURCE_STRIP_ADDITIONAL_QUADLETS flag in u.IsochAllocateResources.fulFlags.
hResourceSpecifies a handle to the resource.