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


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

Метод SerCx2InitializeDeviceInit позволяет версии 2 расширения последовательной платформы (SerCx2) регистрировать свойства, относящиеся к расширению, с платформой драйверов во время создания объекта устройства платформы для последовательного контроллера.

Синтаксис

NTSTATUS SerCx2InitializeDeviceInit(
  [in, out] PWDFDEVICE_INIT DeviceInit
);

Параметры

[in, out] DeviceInit

Указатель на структуру WDFDEVICE_INIT, которая является непрозрачной структурой, в которой хранятся сведения о том, что платформа драйвера ядра (KMDF) использует для создания объекта устройства платформы. Драйвер последовательного контроллера получает указатель на эту структуру в качестве входного параметра для функции обратного вызова драйвера EvtDriverDeviceAdd обратного вызова.

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

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

Возвращаемый код Описание
STATUS_INVALID_DEVICE_REQUEST
Метод был вызван неправильным параметром IRQL или параметром DeviceInit является NULL.
STATUS_INSUFFICIENT_RESOURCES
Недостаточно ресурсов для выполнения запрошенной операции.

Замечания

Драйвер последовательного контроллера должен вызвать этот метод из его EvtDriverDeviceAdd функцию обратного вызова перед созданием объекта WDFDEVICE для последовательного контроллера.

SerCx2InitializeDeviceInit присоединяет сведения о расширении к структуре WDFDEVICE_INIT драйвера. Эта информация позволяет SerCx2 выполнять определенные действия от имени драйвера последовательного контроллера. Например, SerCx2 получает запросы ввода-вывода, которые клиенты отправляют на последовательный контроллер.

Драйвер последовательного контроллера должен вызывать SerCx2InitializeDeviceInit перед созданием объекта устройства платформы для представления последовательного контроллера и перед вызовом метода SerCx2InitializeDevice, чтобы завершить инициализацию объекта устройства. Драйвер вызывает метод, например WdfDeviceCreate для создания объекта устройства.

SerCx2InitializeDeviceInit задает дескриптор безопасности по умолчанию, позволяющий драйверам режима ядра и драйверам пользовательского режима отправлять запросы ввода-вывода в SerCx2. Дескриптор позволяет приложениям отправлять эти запросы только в том случае, если они выполняются с правами администратора. Чтобы указать этот дескриптор, SerCx2 использует следующую строку SDDL:

"D:P(A;;GA;;;SY)(A;;GA;;;BA)(A;;GA;;;UD)" При необходимости драйвер последовательного контроллера может переопределить параметр по умолчанию, вызвав метод WdfDeviceInitAssignSDDLString с требуемым дескриптором безопасности. Драйвер должен вызывать WdfDeviceInitAssignSDDLString после вызова SerCx2InitializeDeviceInitinit, но перед вызовом WdfDeviceCreate. Дополнительные сведения о строках SDDL см. в SDDL для объектов устройств.

Требования

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

См. также

EvtDriverDeviceAdd

SerCx2InitializeDevice

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDDLString