Простая периферийная шина (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 описывает одну передачу в последовательности передачи ввода-вывода. |