Функция SerCx2InitializeDeviceInit (sercx.h)
Метод SerCx2InitializeDeviceInit позволяет версии 2 расширения последовательной платформы (SerCx2) регистрировать свойства, относящиеся к расширению, с платформой драйверов во время создания объекта устройства платформы для последовательного контроллера.
Синтаксис
NTSTATUS SerCx2InitializeDeviceInit(
[in, out] PWDFDEVICE_INIT DeviceInit
);
Параметры
[in, out] DeviceInit
Указатель на структуру WDFDEVICE_INIT, которая является непрозрачной структурой, в которой хранятся сведения о том, что платформа драйвера ядра (KMDF) использует для создания объекта устройства платформы. Драйвер последовательного контроллера получает указатель на эту структуру в качестве входного параметра для функции обратного вызова драйвера EvtDriverDeviceAdd обратного вызова.
Возвращаемое значение
SerCx2InitializeDeviceInit возвращает STATUS_SUCCESS, если вызов выполнен успешно. Возможные значения возвращаемых ошибок включают следующие коды состояния.
Возвращаемый код | Описание |
---|---|
|
Метод был вызван неправильным параметром IRQL или параметром DeviceInit является NULL. |
|
Недостаточно ресурсов для выполнения запрошенной операции. |
Замечания
Драйвер последовательного контроллера должен вызвать этот метод из его 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 |