структура 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 |
См. также
EvtSerCx2SelectNextReceiveTransactionType