Структура IRB (1394.h)
Водители используют эту структуру для передачи большинства запросов водителю автобуса IEEE 1394.
Синтаксис
typedef struct _IRB {
ULONG FunctionNumber;
ULONG Flags;
ULONG_PTR BusReserved[IRB_BUS_RESERVED_SZ];
ULONG_PTR PortReserved[IRB_PORT_RESERVED_SZ];
union {
IRB_REQ_ASYNC_READ AsyncRead;
IRB_REQ_ASYNC_WRITE AsyncWrite;
IRB_REQ_ASYNC_LOCK AsyncLock;
IRB_REQ_ISOCH_ALLOCATE_BANDWIDTH IsochAllocateBandwidth;
IRB_REQ_ISOCH_ALLOCATE_CHANNEL IsochAllocateChannel;
IRB_REQ_ISOCH_ALLOCATE_RESOURCES IsochAllocateResources;
IRB_REQ_ISOCH_ATTACH_BUFFERS IsochAttachBuffers;
IRB_REQ_ISOCH_DETACH_BUFFERS IsochDetachBuffers;
IRB_REQ_ISOCH_FREE_BANDWIDTH IsochFreeBandwidth;
IRB_REQ_ISOCH_FREE_CHANNEL IsochFreeChannel;
IRB_REQ_ISOCH_FREE_RESOURCES IsochFreeResources;
IRB_REQ_ISOCH_LISTEN IsochListen;
IRB_REQ_ISOCH_QUERY_CURRENT_CYCLE_TIME IsochQueryCurrentCycleTime;
IRB_REQ_ISOCH_QUERY_RESOURCES IsochQueryResources;
IRB_REQ_ISOCH_SET_CHANNEL_BANDWIDTH IsochSetChannelBandwidth;
IRB_REQ_ISOCH_STOP IsochStop;
IRB_REQ_ISOCH_TALK IsochTalk;
IRB_REQ_ISOCH_MODIFY_STREAM_PROPERTIES IsochModifyStreamProperties;
IRB_REQ_ALLOCATE_ADDRESS_RANGE AllocateAddressRange;
IRB_REQ_FREE_ADDRESS_RANGE FreeAddressRange;
IRB_REQ_GET_LOCAL_HOST_INFORMATION GetLocalHostInformation;
IRB_REQ_GET_1394_ADDRESS_FROM_DEVICE_OBJECT Get1394AddressFromDeviceObject;
IRB_REQ_CONTROL Control;
IRB_REQ_GET_MAX_SPEED_BETWEEN_DEVICES GetMaxSpeedBetweenDevices;
IRB_REQ_SET_DEVICE_XMIT_PROPERTIES SetDeviceXmitProperties;
IRB_REQ_SET_LOCAL_HOST_PROPERTIES SetLocalHostProperties;
IRB_REQ_GET_CONFIGURATION_INFORMATION GetConfigurationInformation;
IRB_REQ_GET_CONFIG_ROM GetConfigRom;
IRB_REQ_BUS_RESET BusReset;
IRB_REQ_GET_GENERATION_COUNT GetGenerationCount;
IRB_REQ_SEND_PHY_CONFIGURATION_PACKET SendPhyConfigurationPacket;
IRB_REQ_SEND_PHY_PACKET SendPhyPacket;
IRB_REQ_RECEIVE_PHY_PACKETS ReceivePhyPackets;
IRB_REQ_GET_SPEED_TOPOLOGY_MAPS GetSpeedTopologyMaps;
IRB_REQ_BUS_RESET_NOTIFICATION BusResetNotification;
IRB_REQ_ASYNC_STREAM AsyncStream;
} u;
} IRB, *PIRB;
Члены
FunctionNumber
Определяет тип запроса. Каждый тип запроса задокументирован в разделе FunctionNumber в разделе Запросы ввода-вывода шины IEEE 1394.
Flags
Зарезервировано. Драйверы должны задать для этого элемента значение ноль с одним исключением. При выполнении запроса REQUEST_ISOCH_ALLOCATE_BANDWIDTH вызывающий объект может задать флаг IRB_FLAG_ALLOW_REMOTE_FREE в разделе Флаги , чтобы указать, что система должна освободить память дескриптора пропускной способности, указываемую на IsochAllocateBandwidth.hBandwidth. Если вызывающий объект не устанавливает этот флаг, вызывающий должен освободить дескриптор пропускной способности.
BusReserved[IRB_BUS_RESERVED_SZ]
Зарезервировано.
PortReserved[IRB_PORT_RESERVED_SZ]
Зарезервировано.
u
Указывает объединение структур, по одному для каждого значения FunctionNumber. Применимые подмемблеры u для каждого запроса описаны с каждым типом запроса в запросах ввода-вывода шины IEEE 1394.
u.AsyncRead
u.AsyncWrite
u.AsyncLock
u.IsochAllocateBandwidth
u.IsochAllocateChannel
u.IsochAllocateResources
u.IsochAttachBuffers
u.IsochDetachBuffers
u.IsochFreeBandwidth
u.IsochFreeChannel
u.IsochFreeResources
u.IsochListen
u.IsochQueryCurrentCycleTime
u.IsochQueryResources
u.IsochSetChannelBandwidth
u.IsochStop
u.IsochTalk
u.IsochModifyStreamProperties
u.AllocateAddressRange
u.FreeAddressRange
u.GetLocalHostInformation
u.Get1394AddressFromDeviceObject
u.Control
u.GetMaxSpeedBetweenDevices
u.SetDeviceXmitProperties
u.SetLocalHostProperties
u.GetConfigurationInformation
u.GetConfigRom
u.BusReset
u.GetGenerationCount
u.SendPhyConfigurationPacket
u.SendPhyPacket
u.ReceivePhyPackets
u.GetSpeedTopologyMaps
u.BusResetNotification
u.AsyncStream
Комментарии
Элемент Parameters-Others.Arguments1>IOCTL_1394_CLASS IRP указывает на структуру IRB. Драйвер шины использует IRB для определения типа запроса, сделанного драйвером устройства, а также для возврата результатов операции. Описание поведения каждого запроса см. в разделе Запросы на ввод-вывод в шине IEEE 1394 .
Требования
Требование | Значение |
---|---|
Заголовок | 1394.h (включая 1394.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по