Поделиться через


Шина IEEE 1394

Обзор технологии шины IEEE 1394.

Чтобы разработать шину IEEE 1394, вам потребуются следующие заголовки:

Руководство по программированию см. в шине IEEE 1394.

IoCTLs

 
IOCTL_1394_CLASS

Драйвер IEEE 1394 использует IRP_MJ_INTERNAL_DEVICE_CONTROL IRP с ioControlCode IOCTL_1394_CLASS для связи с водителем шины. Драйвер имеет доступ ко всем операциям, предоставляемым шиной IEEE 1394 и его контроллером узла через этот запрос.
IOCTL_61883_CLASS

Драйвер клиента IEC-61883 использует IRP_MJ_INTERNAL_DEVICE_CONTROL IRP с ioControlCode IOCTL_61883_CLASS для взаимодействия с стеком драйверов 1394 с помощью протокола IEC-61883.

Перечисления

 
CMP_CONNECT_TYPE

Это перечисление указывает тип подключения.
CMP_PLUG_LOCATION

Это перечисление указывает расположение подключаемого модуля.
CMP_PLUG_TYPE

Это перечисление указывает тип подключаемого модуля.

Функции

 
PBUS_RESET_ROUTINE

Это вызываемая функция, предоставляемая драйвером протокола при сбросе 1394 шины.
PCMP_MONITOR_ROUTINE

Эта подпрограмма вызывается для мониторинга подключаемых модулей.
PCMP_NOTIFY_ROUTINE

Эта подпрограмма вызывается для уведомления о подключаемых модулях.

Структуры

 
ADDRESS_FIFO

Структура ADDRESS_FIFO — это запись в последовательно связанном списке многомерных выражений, которые использует запрос REQUEST_ALLOCATE_ADDRESS_RANGE IEEE 1394.
ADDRESS_OFFSET

Структура ADDRESS_OFFSET указывает 48-разрядный адрес в адресном пространстве IEEE 1394 устройства.
ADDRESS_RANGE

Структура ADDRESS_RANGE описывает диапазон в адресном пространстве устройства IEEE 1394.
AV_61883_REQUEST

Структура AV_61883_REQUEST используется для передачи запросов драйверу протокола IEC-61883.
AV_PCR

Структура AV_PCR задает параметры входного или выходного модуля.
BUS_GENERATION_NODE

Структура BUS_GENERATION_NODE используется вместе с запросом Av61883_GetUnitInfo для получения характеристик шины.
BUS_RESET_DATA

Структура BUS_RESET_DATA указывает контекст для процедуры уведомления о расширенном сбросе шины.
BUS_RESET_NOTIFY

Эта структура используется для регистрации или отмены регистрации обратного вызова PBUS_RESET_ROUTINE.
CIP_ATTACH_FRAME

Эта структура используется в запросе на присоединение кадра.
CIP_CANCEL_FRAME

Запрос отменяет присоединенный буфер кадра. Кадр можно отменить во время выполнения потока.
CIP_DATA_FORMAT_VER2

Эта структура представляет собой формат данных CIP, используемый CMP_CONNECT_VER2.
CIP_DATA_FORMAT_VER3

Эта структура используется CipDataFormat.
CIP_FRAME

Структура CIP_FRAME описывает кадр для подключения к входному или выходному подключаемым модулем.
CIP_LISTEN

Эта структура используется для запроса прослушивания. Запрос начинается изохронный прием по указанному соединению.
CIP_NOTIFY_INFO

Структура CIP_NOTIFY_INFO содержит сведения о кадре.
CIP_STOP

Эта структура используется для остановки передачи или приема.
CIP_TALK

Эта структура используется для начала передачи.
CIP_VALIDATE_INFO

Структура CIP_VALIDATE_INFO содержит сведения о кадре.
CMP_CONNECT_VER2

Эта структура содержит сведения о запросе на подключение. Запрос пытается подключиться к регистру элемента управления подключаемым модулем на локальном узле.
CMP_CONNECT_VER3

Эта структура содержит сведения о запросе на подключение.
CMP_CREATE_PLUG

Эта структура используется для создания подключаемого модуля.
CMP_DELETE_PLUG

Эта структура используется для удаления подключаемого модуля. Av61883_CreatePlug.
CMP_DISCONNECT

Эта структура используется для разрыва соединения.
CMP_GET_PLUG_HANDLE

Эта структура используется при получении дескриптора подключаемого модуля.
CMP_GET_PLUG_STATE

Эта структура используется для получения состояния подключаемого модуля.
CMP_MONITOR_INFO

Структура CMP_MONITOR_INFO используется вместе с запросом Av61883_MonitorPlugs, чтобы разрешить драйверу отслеживать доступ к локальным модулям oPCR и iPCR.
CMP_MONITOR_PLUGS

Эта структура используется для мониторинга доступа к подключаемым модулям. Запрос позволяет драйверу отслеживать весь доступ к локальным подключаемым модулям oPCR и iPCR.
CMP_NOTIFY_INFO

Эта структура используется обратным вызовом PCMP_NOTIFY_ROUTINE.
CMP_SET_PLUG

Эта структура используется для назначения параметров подключаемого модуля.
CONFIG_ROM

Структура CONFIG_ROM используется для хранения первых 24 байтов конфигурации устройства IEEE 1394.
CYCLE_TIME

Структура CYCLE_TIME содержит время циклического цикла IEEE 1394.
FCP_FRAME

Структура FCP_FRAME описывает запрос протокола управления функциями (FCP).
FCP_GET_REQUEST

Эта структура используется для запроса на получение.
FCP_REQUEST

Эта структура используется для запроса на отправку.
FCP_RESPONSE

Структура используется в запросе yjsy извлекает следующий ответ FCP из очереди запросов, поддерживаемых драйвером протокола IEC-61883.
FCP_SEND_RESPONSE

Эта структура используется для ответа на отправку.
GET_LOCAL_HOST_INFO1

Структура GET_LOCAL_HOST_INFO1 содержит данные, возвращаемые запросом REQUEST_GET_LOCAL_HOST_INFO с помощью REQUEST_GET_LOCAL_HOST_INFO GET_HOST_UNIQUE_ID u.GetLocalHostInformation.nLevel.
GET_LOCAL_HOST_INFO2

Структура GET_LOCAL_HOST_INFO2 содержит данные, возвращаемые запросом REQUEST_GET_LOCAL_HOST_INFO с помощью GET_HOST_CAPABILITIES u.GetLocalHostInformation.nLevel.
GET_LOCAL_HOST_INFO3

Структура GET_LOCAL_HOST_INFO3 содержит данные, возвращаемые запросом REQUEST_GET_LOCAL_HOST_INFO с помощью u.GetLocalHostInformation.nLevel = GET_POWER_SUPPLIED.
GET_LOCAL_HOST_INFO4

Структура GET_LOCAL_HOST_INFO4 содержит данные, возвращаемые запросом REQUEST_GET_LOCAL_HOST_INFO с помощью u.GetLocalHostInformation.nLevel = GET_PHYS_ADDR_ROUTINE.
GET_LOCAL_HOST_INFO5

Структура GET_LOCAL_HOST_INFO5 содержит данные, возвращаемые запросом REQUEST_GET_LOCAL_HOST_INFO с помощью u.GetLocalHostInformation.nLevel = GET_HOST_CONFIG_ROM.
GET_LOCAL_HOST_INFO6

Структура GET_LOCAL_HOST_INFO6 содержит данные, возвращаемые запросом REQUEST_GET_LOCAL_HOST_INFO с помощью u.GetLocalHostInformation.nLevel = GET_HOST_CSR_CONTENTS.
GET_LOCAL_HOST_INFO7_W2K

Структура GET_LOCAL_HOST_INFO7_W2K возвращается запросом REQUEST_GET_LOCAL_HOST_INFO с параметром GetLocalHostInformation.nLevel, равным GET_HOST_DMA_CAPABILITIES.
GET_LOCAL_HOST_INFO7_WXP

Структура GET_LOCAL_HOST_INFO7_WXP возвращается запросом REQUEST_GET_LOCAL_HOST_INFO с параметром GetLocalHostInformation.nLevel для GET_HOST_DMA_CAPABILITIES.
GET_LOCAL_HOST_INFO8

Структура GET_LOCAL_HOST_INFO8 содержит данные, возвращаемые запросом REQUEST_GET_LOCAL_HOST_INFO с параметром GetLocalHostInformation.nLevel, равным GET_HOST_DDI_VERSION.
GET_UNIT_CAPABILITIES

Структура GET_UNIT_CAPABILITIES используется вместе с запросом Av61883_GetUnitInfo для получения сведений об единицах возможностей устройства.
GET_UNIT_IDS

Структура GET_UNIT_CAPABILITIES используется вместе с запросом Av61883_GetUnitInfo для получения идентификаторов устройства.
GET_UNIT_INFO

Эта структура используется для получения сведений об единицах.
IO_ADDRESS

Структура IO_ADDRESS указывает 1394-разрядный 64-разрядный адрес назначения для операций чтения, записи и блокировки.
IPCR

Структура IPCR содержит значения инициализации входного подключаемого модуля.
IRB

Водители используют эту структуру для передачи большинства запросов водителю автобуса IEEE 1394.
IRB_REQ_ALLOCATE_ADDRESS_RANGE

Эта структура содержит поля, необходимые для стека 1394 для выполнения запроса на выделение диапазона адресов.
IRB_REQ_ASYNC_LOCK

Эта структура содержит поля, необходимые для стека 1394 для выполнения асинхронного запроса блокировки.
IRB_REQ_ASYNC_READ

Эта структура содержит поля, необходимые для стека 1394 для выполнения асинхронного запроса на чтение.
IRB_REQ_ASYNC_STREAM

Эта структура содержит поля, необходимые для водителя автобуса 1394 для выполнения асинхронного запроса на запись.
IRB_REQ_ASYNC_WRITE

Эта структура содержит поля, необходимые для стека 1394 для выполнения асинхронного запроса на запись.
IRB_REQ_BUS_RESET

Эта структура содержит поля, необходимые для водителя автобуса 1394 для создания запроса на сброс шины.
IRB_REQ_BUS_RESET_NOTIFICATION

Эта структура содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса на сброс шины.
IRB_REQ_CONTROL

Эта структура содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса на контроль.
IRB_REQ_FREE_ADDRESS_RANGE

Эта структура содержит поля, необходимые для стека 1394 для выполнения запроса диапазона бесплатных адресов.
IRB_REQ_GET_1394_ADDRESS_FROM_DEVICE_OBJECT

Эта структура содержит поля, необходимые для выполнения запроса Get1394AddressFromDeviceObject.
IRB_REQ_GET_CONFIG_ROM

Эта структура содержит поля, необходимые водителю шины для выполнения запроса GetConfigRom.
IRB_REQ_GET_CONFIGURATION_INFORMATION

Эта структура содержит поля, необходимые для водителя 1394 шины для выполнения запроса GetConfigurationInformation.
IRB_REQ_GET_GENERATION_COUNT

Эта структура содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса GetGenerationCount.
IRB_REQ_GET_LOCAL_HOST_INFORMATION

Эта структура содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса GetLocalHostInformation.
IRB_REQ_GET_MAX_SPEED_BETWEEN_DEVICES

Эта структура содержит поля, необходимые для выполнения запроса GetMaxSpeedBetweenDevices.
IRB_REQ_GET_SPEED_TOPOLOGY_MAPS

Эта структура содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса GetSpeedTopologyMaps.
IRB_REQ_ISOCH_ALLOCATE_BANDWIDTH

Эта структура содержит поля, необходимые для того, чтобы драйвер шины выполнял запрос IsochAllocateBandwidth.
IRB_REQ_ISOCH_ALLOCATE_CHANNEL

Эта структура содержит поля, необходимые для 1394 водителя шины для выполнения запроса IsochAllocateChannel.
IRB_REQ_ISOCH_ALLOCATE_RESOURCES_W2K

Структура IRB_REQ_ISOCH_ALLOCATE_RESOURCES_W2K содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса IsochAllocateResources.
IRB_REQ_ISOCH_ALLOCATE_RESOURCES_WXP

Структура IRB_REQ_ISOCH_ALLOCATE_RESOURCES_WXP содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса IsochAllocateResources.
IRB_REQ_ISOCH_ATTACH_BUFFERS

Эта структура содержит поля, необходимые для водителя автобуса 1394 для выполнения запроса 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

Эта структура содержит поля, необходимые для выполнения запроса ReqIsochListen.
IRB_REQ_ISOCH_MODIFY_STREAM_PROPERTIES

Эта структура содержит поля, необходимые драйверу шины для выполнения запроса IsochModifyStreamProperties.
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_RECEIVE_PHY_PACKETS

Эта структура содержит поля, необходимые для выполнения запроса ReceivePhyPackets.
IRB_REQ_SEND_PHY_CONFIGURATION_PACKET

Эта структура содержит поля, необходимые для выполнения запроса SendPhyConfigurationPacket.
IRB_REQ_SEND_PHY_PACKET

Эта структура содержит поля, необходимые для выполнения запроса SendPhyPacket.
IRB_REQ_SET_DEVICE_XMIT_PROPERTIES

Эта структура содержит поля, необходимые для выполнения запроса SetDeviceXmitProperties.
IRB_REQ_SET_LOCAL_HOST_PROPERTIES

Эта структура содержит поля, необходимые для выполнения запроса SetLocalHostProperties.
ISOCH_DESCRIPTOR

Структура ISOCH_DESCRIPTOR описывает присоединенный или подробный буфер из дескриптора ресурсов с помощью запросов REQUEST_ISOCH_ATTACH_BUFFERS и REQUEST_ISOCH_DETACH_BUFFERS.
NODE_ADDRESS

Структура NODE_ADDRESS указывает 10-разрядный номер шины и 6-разрядный номер узла, который служит адресом узла для узла 1394.
NOTIFICATION_INFO_W2K

Водитель шины передает NOTIFICATION_INFO_W2K подпрограмме уведомления, предоставленному водителем, для диапазона адресов, выделенного драйвером, в адресном пространстве IEEE 1394.
NOTIFICATION_INFO_WXP

Водитель шины передает NOTIFICATION_INFO_WXP подпрограмме уведомления, предоставленному водителем, для диапазона адресов, выделенного драйвером, в адресном пространстве IEEE 1394.
OPCR

Структура OPCR содержит значения инициализации для выходного подключаемого модуля.
PHY_CONFIGURATION_PACKET

Структура PHY_CONFIGURATION_PACKET содержит необработанный пакет конфигурации PHY.
SELF_ID

Структура SELF_ID содержит необработанный пакет самостоятельного идентификатора пакета. Дополнительные сведения см. на веб-сайте спецификации IEEE 1394 Trade Association.
SELF_ID_MORE

Структура SELF_ID_MORE содержит необработанный пакет один, два или три пакета самостоятельного идентификатора. Дополнительные сведения см. в спецификации IEEE 1394.
SET_CMP_ADDRESS_TYPE

Структура SET_CMP_ADDRESS_TYPE используется вместе с запросом Av61883_SetUnitInfo для задания параметров, которые должен использовать драйвер протокола IEC-61883 при захвате и передаче изохронных пакетов.
SET_FCP_NOTIFY

Эта структура используется для уведомления FCP.
SET_LOCAL_HOST_PROPS2

SET_LOCAL_HOST_PROPS2 задает нижнюю границу значения, которое шина будет использовать для его количества пробелов.
SET_LOCAL_HOST_PROPS3

SET_LOCAL_HOST_PROPS3 содержит данные, необходимые для определения или идентификации одного или нескольких каталогов единиц в РОМ конфигурации контроллера узла 1394.
SET_UNIT_DIRECTORY

Эта структура используется для назначения параметров для каталога единиц.
SET_UNIT_INFO

Эта структура используется для задания сведений об единицах.
SPEED_MAP

Структура SPEED_MAP хранит карту скорости шины IEEE 1394.
TEXTUAL_LEAF

Структура TEXTUAL_LEAF описывает описание устройства, которое можно хранить в РОМ конфигурации устройств, удовлетворяющих спецификациям PC 98 или PC 99.
TOPOLOGY_MAP

Структура TOPOLOGY_MAP используется для хранения карты топологии шины IEEE 1394. Отношения между устройствами находятся в членах портов записей в TOP_Self_ID_Array.
UNIT_DDI_VERSION

Структура UNIT_DDI_VERSION используется вместе с запросом Av61883_GetUnitInfo для получения текущей версии DDI 61883.
UNIT_DIAG_LEVEL

Структура UNIT_DDI_VERSION используется вместе с запросом Av61883_GetUnitInfo для получения текущего уровня диаг
UNIT_ISOCH_PARAMS

Структура UNIT_ISOCH_PARAMS используется для получения или задания параметров, используемых драйвером протокола IEC-61883 при захвате или передаче изохронных пакетов.