Простая периферийная шина (SPB)

Обзор технологии простой периферийной шины (SPB).

Для разработки простой периферийной шины (SPB) вам потребуются следующие заголовки:

Руководство по программированию см. в статье Простая периферийная шина (SPB).

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

 
SPB_MULTI_SPI_TRANSFER_MODE

Перечисление SPB_MULTI_SPI_TRANSFER_MODE указывает тип передачи с несколькими SPI, которая будет использоваться водителем шины для взаимодействия с периферийным устройством.
SPB_REQUEST_SEQUENCE_POSITION

Перечисление SPB_REQUEST_SEQUENCE_POSITION указывает положение запроса ввода-вывода в списке передач для последовательности передачи ввода-вывода.
SPB_REQUEST_TYPE

Перечисление SPB_REQUEST_TYPE указывает тип операции SPB, запрашиваемой клиентом.
SPB_TRANSFER_BUFFER_FORMAT

Перечисление SPB_TRANSFER_BUFFER_FORMAT указывает формат буфера, описываемый структурой SPB_TRANSFER_BUFFER.
SPB_TRANSFER_DIRECTION

Перечисление SPB_TRANSFER_DIRECTION описывает направление (чтение или запись) одной передачи в последовательности передачи ввода-вывода.
SpbIoctl

Определяет значения, указывающие тип запроса элемента управления вводом-выводом.

Функции

 
EVT_SPB_CONTROLLER_LOCK

Функция обратного вызова события EvtSpbControllerLock драйвера контроллера SPB блокирует контроллер SPB для доступа к одному целевому устройству в шине.
EVT_SPB_CONTROLLER_OTHER

Функция обратного вызова событий evtSpbControllerIoДруха драйвера контроллера SPB обрабатывает запросы управления вводом-выводом устройства, которые не обрабатываются другими функциями обратного вызова событий или расширением платформы SPB (SpbCx).
EVT_SPB_CONTROLLER_READ

Функция обратного вызова события EvtSpbControllerIoRead драйвера контроллера SPB считывает данные с указанного целевого устройства в буферы, поставляемые с запросом на чтение.
EVT_SPB_CONTROLLER_SEQUENCE

Функция обратного вызова события EvtSpbControllerIoSequence драйвера контроллера SPB выполняет последовательность передачи данных между указанным целевым устройством и буферами, которые предоставляются вместе с запросом последовательности.
EVT_SPB_CONTROLLER_UNLOCK

Функция обратного вызова события EvtSpbControllerUnlock драйвера контроллера SPB разблокирует контроллер SPB, который был заблокирован предыдущим вызовом функции обратного вызова события EvtSpbControllerLock.
EVT_SPB_CONTROLLER_WRITE

Функция обратного вызова события EvtSpbControllerIoWrite драйвера контроллера SPB записывает данные на указанное целевое устройство из буферов, поставляемых с запросом на запись.
EVT_SPB_TARGET_CONNECT

Функция обратного вызова события EvtSpbTargetConnect драйвера контроллера SPB открывает подключение к целевому устройству в шине.
EVT_SPB_TARGET_DISCONNECT

Функция обратного вызова события EvtSpbTargetDisconnect драйвера контроллера SPB закрывает подключение к целевому устройству, которое ранее было открыто вызовом функции обратного вызова события EvtSpbTargetConnect драйвера.
PwmParsePinPath

Анализирует путь к закреплению в пространстве имен контроллера Pulse Width Modulation (PWM), чтобы проверить его формат и извлечь номер закрепления.
SPB_CONNECTION_PARAMETERS_INIT

Функция SPB_CONNECTION_PARAMETERS_INIT инициализирует структуру SPB_CONNECTION_PARAMETERS.
SPB_CONTROLLER_CONFIG_INIT

Функция SPB_CONTROLLER_CONFIG_INIT инициализирует структуру SPB_CONTROLLER_CONFIG.
SPB_MULTI_SPI_READ_TRANSFER_INIT

Функция SPB_MULTI_SPI_READ_TRANSFER_INIT инициализирует структуру SPB_MULTI_SPI_READ_TRANSFER.
SPB_MULTI_SPI_TRANSFER_INIT

Функция SPB_MULTI_SPI_TRANSFER_INIT инициализирует структуру SPB_MULTI_SPI_TRANSFER.
SPB_MULTI_SPI_WRITE_TRANSFER_INIT

Функция SPB_MULTI_SPI_WRITE_TRANSFER_INIT инициализирует структуру SPB_MULTI_SPI_WRITE_TRANSFER.
SPB_REQUEST_PARAMETERS_INIT

Функция SPB_REQUEST_PARAMETERS_INIT инициализирует структуру SPB_REQUEST_PARAMETERS.
SPB_TRANSFER_DESCRIPTOR_INIT

Функция SPB_TRANSFER_DESCRIPTOR_INIT инициализирует структуру SPB_TRANSFER_DESCRIPTOR.
SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST

Функция SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST возвращает структуру SPB_TRANSFER_LIST_ENTRY, которая инициализирована для описания точечных списков. SPB_TRANSFER_LIST_ENTRY_INIT_BUFFER_LIST функция возвращает структуру SPB_TRANSFER_LIST_ENTRY, которая инициализирована для описания точечных списков.
SPB_TRANSFER_LIST_ENTRY_INIT_MDL

Функция SPB_TRANSFER_LIST_ENTRY_INIT_MDL возвращает структуру SPB_TRANSFER_LIST_ENTRY, которая инициализирована для использования MDL для описания буфера данных.
SPB_TRANSFER_LIST_ENTRY_INIT_NON_PAGED

Функция SPB_TRANSFER_LIST_ENTRY_INIT_NON_PAGED возвращает структуру SPB_TRANSFER_LIST_ENTRY, которая инициализирована для описания простого буфера данных в непагизированной памяти.
SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE

Функция SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE возвращает структуру SPB_TRANSFER_LIST_ENTRY, которая инициализирована для описания простого буфера данных. функция SPB_TRANSFER_LIST_ENTRY_INIT_SIMPLE возвращает структуру SPB_TRANSFER_LIST_ENTRY, которая инициализирована для описания простого буфера данных.
SPB_TRANSFER_LIST_INIT

Функция SPB_TRANSFER_LIST_INIT инициализирует структуру SPB_TRANSFER_LIST.
SpbControllerSetIoOtherCallback

Метод SpbControllerSetIoOtherCallback регистрирует функцию обратного вызова EvtSpbControllerIoOther драйвера контроллера SPB.
SpbControllerSetRequestAttributes

Метод SpbControllerSetRequestAttributes задает атрибуты объекта, которые будут использоваться для всех объектов SPBREQUEST, которые расширение платформы SPB (SpbCx) доставляет драйверу контроллера SPB.
SpbControllerSetTargetAttributes

Метод SpbControllerSetTargetAttributes задает атрибуты объекта, которые будут использоваться для всех объектов SPBTARGET, которые расширение платформы SPB (SpbCx) доставляет драйверу контроллера SPB.
SpbDeviceInitConfig

Метод SpbDeviceInitConfig присоединяет расширение платформы SPB (SpbCx) к цепочке запросов ввода-вывода для создаваемого объекта WDFDEVICE (FDO или PDO).
SpbDeviceInitialize

Метод SpbDeviceInitialize завершает инициализацию драйвера контроллера SPB после того, как этот драйвер создаст связанный объект устройства.
SpbRequestCaptureIoOtherTransferList

Метод SpbRequestCaptureIoOtherTransferList извлекает структуру SPB_TRANSFER_LIST во входном буфере настраиваемого запроса IOCTL.
SpbRequestComplete

Метод SpbRequestComplete завершает запрос ввода-вывода и предоставляет состояние завершения.
SpbRequestGetController

Метод SpbRequestGetController возвращает дескриптор WDFDEVICE объекту устройства для контроллера SPB, в который был отправлен указанный запрос ввода-вывода.
SpbRequestGetParameters

Метод SpbRequestGetParameters извлекает набор значений параметров, относящихся к SPB, из запроса ввода-вывода.
SpbRequestGetTarget

Метод SpbRequestGetTarget извлекает дескриптор SPBTARGET из указанного запроса ввода-вывода.
SpbRequestGetTransferParameters

Метод SpbRequestGetTransferParameters извлекает параметры передачи для отдельной передачи в последовательности передачи ввода-вывода.
SpbTargetGetConnectionParameters

Метод SpbTargetGetConnectionParameters извлекает параметры подключения для целевого устройства в шине.
SpbTargetGetFileObject

Метод SpbTargetGetFileObject принимает в качестве входного параметра дескриптор SPBTARGET на открытое целевое устройство и возвращает дескриптор WDFFILEOBJECT этому целевому объекту.

Структуры

 
PNP_SERIAL_BUS_DESCRIPTOR

Структура PNP_SERIAL_BUS_DESCRIPTOR описывает физическое подключение целевого устройства к последовательной шине (I2C, SPI или UART).
RH_QUERY_CONNECTION_PROPERTIES_OUTPUT_BUFFER

Структура RH_QUERY_CONNECTION_PROPERTIES_OUTPUT_BUFFER содержит свойства подключения для целевого устройства, подключенного к последовательной шине (I2C, SPI или UART).
SPB_CONNECTION_PARAMETERS

Структура SPB_CONNECTION_PARAMETERS содержит параметры подключения для целевого устройства на простой периферийной шине.
SPB_CONTROLLER_CONFIG

Структура SPB_CONTROLLER_CONFIG содержит параметры конфигурации для драйвера контроллера SPB.
SPB_MULTI_SPI_READ_TRANSFER

Структура SPB_MULTI_SPI_READ_TRANSFER описывает операцию чтения, выполняемую в режиме multi-SPI (например, dual SPI или Quad SPI).
SPB_MULTI_SPI_TRANSFER

Структура SPB_MULTI_SPI_TRANSFER описывает операцию ввода-вывода SPI, которая должна выполняться в режиме передачи с несколькими SPI, например двойной или четырехместный SPI.
SPB_MULTI_SPI_TRANSFER_HEADER

Структура SPB_MULTI_SPI_TRANSFER_HEADER описывает передачу SPI, выполняемую в режиме multi-SPI (например, dual SPI или Quad SPI).
SPB_MULTI_SPI_WRITE_TRANSFER

Структура SPB_MULTI_SPI_WRITE_TRANSFER описывает операцию записи, выполняемую в режиме multi-SPI (например, dual SPI или Quad SPI).
SPB_TRANSFER_BUFFER

Структура SPB_TRANSFER_BUFFER описывает буфер данных для отдельной передачи в последовательности передачи ввода-вывода.
SPB_TRANSFER_BUFFER_LIST_ENTRY

Структура SPB_TRANSFER_BUFFER_LIST_ENTRY описывает простой буфер передачи или элемент в массиве из одного или нескольких буферов передачи.
SPB_TRANSFER_DESCRIPTOR

Структура SPB_TRANSFER_DESCRIPTOR описывает одну передачу в последовательности передачи ввода-вывода.
SPB_TRANSFER_LIST

Структура SPB_TRANSFER_LIST описывает последовательность передачи ввода-вывода.
SPB_TRANSFER_LIST_ENTRY

Структура SPB_TRANSFER_LIST_ENTRY описывает одну передачу в последовательности передачи ввода-вывода.