Функция SerCx2PioTransmitCreate (sercx.h)
Метод SerCx2PioTransmitCreate создает объект передачи PIO, который используется для выполнения транзакций передачи piO версии 2 расширения последовательной платформы (SerCx2).
Синтаксис
NTSTATUS SerCx2PioTransmitCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_TRANSMIT_CONFIG PioTransmitConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIOTRANSMIT *PioTransmit
);
Параметры
[in] Device
Дескриптор WDFDEVICE для объекта устройства платформы, представляющего последовательный контроллер. Драйвер последовательного контроллера создал этот объект в функции обратного вызова EvtDriverDeviceAdd . Дополнительные сведения см. в разделе SerCx2InitializeDevice.
[in] PioTransmitConfig
Указатель на структуру SERCX2_PIO_TRANSMIT_CONFIG . Перед вызовом этого метода вызывающий объект должен вызвать функцию SERCX2_PIO_TRANSMIT_CONFIG_INIT для инициализации структуры. Эта структура содержит указатели на набор процедур обратного вызова событий, реализованных драйвером последовательного контроллера. SerCx2 вызывает эти функции для выполнения транзакций передачи персональных данных.
[in, optional] Attributes
Указатель на структуру WDF_OBJECT_ATTRIBUTES , описывающую атрибуты, назначаемые новому объекту PIO-передачи. Перед вызовом этого метода вызывающий объект должен вызвать функцию WDF_OBJECT_ATTRIBUTES_INIT для инициализации структуры. Этот параметр является необязательным и может быть указан как WDF_NO_OBJECT_ATTRIBUTES, если драйверу последовательного контроллера не нужно назначать атрибуты объекту. Дополнительные сведения см. в подразделе "Примечания".
[out] PioTransmit
Указатель на расположение, в которое этот метод записывает дескриптор SERCX2PIOTRANSMIT во вновь созданный объект PIO-передачи. SerCx2 и драйвер последовательного контроллера используют этот дескриптор в последующих вызовах для ссылки на этот объект.
Возвращаемое значение
Этот метод возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные возвращаемые значения ошибок включают следующие коды состояния.
Код возврата | Описание |
---|---|
|
Объект piO-передачи уже существует из предыдущего вызова SerCx2PioTransmitCreate . |
|
Значениеразмераконфигурации-> не равно sizeof(SERCX2_PIO_TRANSMIT_CONFIG). |
|
Указанная комбинация реализованных функций обратного вызова недопустима. Драйвер должен реализовывать функции EvtSerCx2PioTransmitWriteBuffer, EvtSerCx2PioTransmitEnableReadyNotification и EvtSerCx2PioTransmitCancelReadyNotification . Драйвер должен реализовывать все три функции EvtSerCx2PioTransmitDrainFifo, EvtSerCx2PioTransmitCancelDrainFifo и EvtSerCx2PioTransmitPurgeFifo . |
|
Недостаточно ресурсов для выполнения запрошенной операции. |
Комментарии
Драйвер последовательного контроллера вызывает этот метод для создания объекта pio-передачи. SerCx2 использует этот объект для выполнения транзакций передачи персональных данных, которые представляют собой транзакции, использующие программные операции ввода-вывода (PIO) для записи данных в последовательный контроллер для передачи.
Как правило, драйвер последовательного контроллера вызывает SerCx2PioTransmitCreate из своей функции EvtDriverDeviceAdd . Драйвер должен вызывать этот метод только после успешного вызова метода SerCx2InitializeDevice .
В качестве варианта драйвер последовательного контроллера может использовать параметр Attributes для создания контекста для объекта PIO-передачи и предоставления указателей на функции EvtCleanupCallback и EvtDegradCallback , которые вызываются для подготовки объекта к удалению. Дополнительные сведения см. в разделе WDF_OBJECT_ATTRIBUTES.
Если параметр Attributes указывает на структуру WDF_OBJECT_ATTRIBUTES , вызывающий объект не должен перезаписывать значения, которые функция инициализации WDF_OBJECT_ATTRIBUTES_INIT записывает в элементы ParentObject, ExecutionLevel и SynchronizationScope этой структуры.
Дополнительные сведения о создании объектов pio-передачи см. в разделе SERCX2PIOTRANSMIT. Дополнительные сведения об операциях передачи персональных данных см. в разделе SerCx2 PIO-Transmit Transactions.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно, начиная с Windows 8.1. |
Целевая платформа | Универсальное |
Верхняя часть | sercx.h |
IRQL | <= DISPATCH_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по