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


Функция SerCx2CustomTransmitTransactionCreate (sercx.h)

Метод SerCx2CustomTransmitTransactionCreate создает объект пользовательской передачи транзакций, который версии 2 расширения последовательной платформы (SerCx2) использует для выполнения пользовательских транзакций передачи.

Синтаксис

NTSTATUS SerCx2CustomTransmitTransactionCreate(
  [in]  SERCX2CUSTOMTRANSMIT                       CustomTransmit,
  [in]  PSERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG CustomTransmitTransactionConfig,
  [in]  PWDF_OBJECT_ATTRIBUTES                     Attributes,
  [out] SERCX2CUSTOMTRANSMITTRANSACTION            *CustomTransmitTransaction
);

Параметры

[in] CustomTransmit

Дескриптор SERCX2CUSTOMTRANSMIT для пользовательского объекта передачи. Драйвер последовательного контроллера ранее вызывал метод SerCx2CustomTransmitCreate для создания этого объекта.

[in] CustomTransmitTransactionConfig

Указатель на структуру SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG. Перед вызовом этого метода вызывающий объект должен вызвать функцию SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG_INIT для инициализации структуры. Эта структура содержит указатели на набор подпрограмм обратного вызова событий, реализованных драйвером последовательного контроллера. SerCx2 вызывает эти функции для выполнения транзакции ввода-вывода, которая использует пользовательский механизм передачи данных для записи данных в последовательный контроллер для передачи.

[in] Attributes

Указатель на структуру WDF_OBJECT_ATTRIBUTES, описывающую атрибуты для назначения новому объекту пользовательской передачи-транзакции. Перед вызовом этого метода вызывающий объект должен вызвать функцию WDF_OBJECT_ATTRIBUTES_INIT для инициализации структуры. Этот параметр является необязательным и может быть указан как WDF_NO_OBJECT_ATTRIBUTES если драйвер последовательного контроллера не должен назначать атрибуты объекту. Дополнительные сведения см. в разделе "Примечания".

[out] CustomTransmitTransaction

Указатель на расположение, в которое этот метод записывает SERCX2CUSTOMTRANSMITTRANSACTION дескриптор в только что созданный объект настраиваемой передачи транзакций. SerCx2 и драйвер последовательного контроллера используют этот дескриптор в последующих вызовах для ссылки на этот объект.

Возвращаемое значение

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

Возвращаемый код Описание
STATUS_INVALID_DEVICE_REQUEST
Объект пользовательской передачи-транзакции уже существует из предыдущего вызова SerCx2CustomTransmitTransactionCreate.
STATUS_INFO_LENGTH_MISMATCH
Значение CustomTransmitTransactionConfig->Size не равно размеру(SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG).
STATUS_INVALID_PARAMETER
Недопустимое значение параметра. Вызывающий объект должен предоставить допустимый указатель функции EvtSerCx2CustomTransmitTransactionStart.
STATUS_INSUFFICIENT_RESOURCES
Недостаточно ресурсов для создания объекта пользовательской передачи-транзакции.

Замечания

Драйвер последовательного контроллера может вызвать этот метод, чтобы создать объект пользовательской передачи-транзакции. SerCx2 использует этот объект для управления транзакциями пользовательской передачи, которые являются транзакциями ввода-вывода, которые используют пользовательский механизм передачи данных для записи данных в последовательный контроллер для передачи.

В качестве параметра драйвер последовательного контроллера может использовать параметр Атрибуты для создания контекста для пользовательского объекта передачи, а также для предоставления указателей на EvtCleanupCallback и EvtDedataCallback функций, которые вызываются для подготовки объекта к удалению. Дополнительные сведения см. в разделе WDF_OBJECT_ATTRIBUTES.

Если параметр атрибутов указывает на структуру WDF_OBJECT_ATTRIBUTES, вызывающий объект не должен перезаписать значения, которые функция инициализации WDF_OBJECT_ATTRIBUTES_INIT записывает в ParentObject, ExecutionLevelи syncScope членов этой структуры.

Если указанное сочетание реализованных функций обратного вызова недопустимо, SerCx2CustomTransmitTransactionCreate завершается ошибкой и возвращает STATUS_INVALID_PARAMETER.

Дополнительные сведения о создании объектов пользовательской передачи транзакций см. в SERCX2CUSTOMTRANSMITTRANSACTION. Дополнительные сведения о пользовательских транзакциях передачи см. в SerCx2 Custom-Transmit транзакций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows 8.1.
целевая платформа Всеобщий
заголовка sercx.h
IRQL PASSIVE_LEVEL

См. также

EvtCleanupCallback

EvtDeskallback

EvtSerCx2CustomTransmitTransactionStart

SERCX2CUSTOMTRANSMIT

SERCX2CUSTOMTRANSMITTRANSACTION

SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG

SERCX2_CUSTOM_TRANSMIT_TRANSACTION_CONFIG_INIT

SerCx2CustomTransmitCreate

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT