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


структура SERCX2_CONFIG (sercx.h)

Структура SERCX2_CONFIG содержит сведения о конфигурации для версии 2 расширения последовательной платформы (SerCx2).

Синтаксис

typedef struct _SERCX2_CONFIG {
  ULONG                                            Size;
  PFN_SERCX2_FILEOPEN                              EvtSerCx2FileOpen;
  PFN_SERCX2_FILECLOSE                             EvtSerCx2FileClose;
  PFN_SERCX2_SET_WAIT_MASK                         EvtSerCx2SetWaitMask;
  PFN_SERCX2_PURGE_FIFOS                           EvtSerCx2PurgeFifos;
  PFN_SERCX2_CONTROL                               EvtSerCx2Control;
  PFN_SERCX2_APPLY_CONFIG                          EvtSerCx2ApplyConfig;
  PFN_SERCX2_SELECT_NEXT_RECEIVE_TRANSACTION_TYPE  EvtSerCx2SelectNextReceiveTransactionType;
  PFN_SERCX2_SELECT_NEXT_TRANSMIT_TRANSACTION_TYPE EvtSerCx2SelectNextTransmitTransactionType;
  PWDF_OBJECT_ATTRIBUTES                           RequestAttributes;
} SERCX2_CONFIG, *PSERCX2_CONFIG;

Члены

Size

Размер этой структуры в байтах. Метод SerCx2InitializeDevice использует этот элемент для определения версии структуры, которую использует вызывающий объект. Размер этой структуры может измениться в будущих версиях файла заголовка Sercx.h.

EvtSerCx2FileOpen

Указатель на функцию обратного вызова событий, реализованную драйвером, EvtSerCx2FileOp en. Этот член является необязательным и может быть установлен null, чтобы указать, что драйвер не реализует функцию. Однако драйвер, реализующий эту функцию, также должен реализовать функцию EvtSerCx2FileClose.

EvtSerCx2FileClose

Указатель на функцию обратного вызова событий, реализованную драйвером, EvtSerCx2FileClose. Этот член является необязательным и может быть установлен null, чтобы указать, что драйвер не реализует функцию.

EvtSerCx2SetWaitMask

Указатель на функцию обратного вызова событий, реализованную драйвером, EvtSerCx2SetWaitmask. Этот элемент должен указывать на допустимую функцию.

EvtSerCx2PurgeFifos

Указатель на функцию обратного вызова событий, реализованную драйвером, EvtSerCx2PurgeFifos. Этот элемент должен указывать на допустимую функцию.

EvtSerCx2Control

Указатель на функцию обратного вызова событий, реализованную драйвером, EvtSerCx2 Control. Этот элемент должен указывать на допустимую функцию.

EvtSerCx2ApplyConfig

Указатель на функцию обратного вызова событий, реализованную драйвером EvtSerCx2ApplyConfig. Этот элемент должен указывать на допустимую функцию.

EvtSerCx2SelectNextReceiveTransactionType

Указатель на функцию обратного вызова событий, реализованную драйвером, EvtSerCx2SelectNextReceiveTransactionType функцию обратного вызова событий. Этот член является необязательным и может быть установлен null, чтобы указать, что драйвер не реализует функцию.

EvtSerCx2SelectNextTransmitTransactionType

Указатель на функцию обратного вызова событий, реализованную драйвером EvtSerCx2SelectNextTransmitTransactionType. Этот член является необязательным и может быть установлен null, чтобы указать, что драйвер не реализует функцию.

RequestAttributes

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

Замечания

Метод SerCx2InitializeDevice принимает указатель на структуру SERCX2_CONFIG в качестве входного параметра. Перед вызовом SerCx2InitializeDeviceвызовите функцию SERCX2_CONFIG_INIT для инициализации этой структуры.

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

Драйверу может потребоваться хранить сведения в контекстных областях в объектах запроса платформы, которые получает драйвер. Как правило, драйвер вызывает метод WdfDeviceInitSetRequestAttributes, чтобы указать необходимые атрибуты для объектов запроса. Эти атрибуты включают имя и размер области контекста в каждом объекте запроса. Кроме того, в текущей реализации SerCx2 последовательный драйвер контроллера, требующий контекста запроса, должен указывать эти же атрибуты в элементе RequestAttributes структуры SERCX2_CONFIG, которую драйвер передает SerCx2InitializeDevice. То есть драйвер должен указать один и тот же атрибут запроса дважды— в вызове SerCx2InitializeDevice, а в вызов е WdfDeviceInitSetRequestAttributes. Дополнительные сведения см. в разделе SerCx2 Custom-Receive Транзакций и SerCx2 Custom-Transmit транзакций.

Драйвер, который никогда не нуждается в контексте запроса, не требует вызова WdfDeviceInitSetRequestAttributes, и может задать RequestAttributes член структуры SERCX2_CONFIG WDF_NO_OBJECT_ATTRIBUTES.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается начиная с Windows 8.1.
заголовка sercx.h

См. также

EvtSerCx2ApplyConfig

EvtSerCx2Control

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT