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


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

Метод SerCxDeviceInitConfig вызывается драйвером последовательного контроллера для подключения расширения последовательной платформы (SerCx) к конвейеру ввода-вывода для объекта устройства платформы (FDO или PDO), который он создает.

Синтаксис

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

Параметры

[in, out] DeviceInit

Указатель на структуру WDFDEVICE_INIT, которую необходимо настроить.

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

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

Возвращаемый код Описание
STATUS_INSUFFICIENT_RESOURCES
Не удалось выделить системные ресурсы (обычно память).

Замечания

Этот метод связывает сведения о конфигурации SerCx с структурой WDFDEVICE_INIT для создаваемого объекта устройства платформы (PDO или FDO). Вызовите SerCxDeviceInitConfig перед вызовом метода WdfDeviceCreate для создания объекта устройства.

Функция обратного вызова драйвера контроллера EvtDriverDeviceAdd получает указатель на инициализированную структуру WDFDEVICE_INIT в качестве входного параметра.

SerCx задает дескриптор безопасности по умолчанию, который может при необходимости переопределить драйвер последовательного контроллера. Например, этот дескриптор безопасности по умолчанию позволяет драйверу пользовательского режима отправлять запрос ввода-вывода на периферийное устройство, подключенное к порту на последовательном контроллере. Чтобы изменить этот параметр в дескрипторе безопасности, драйвер последовательного контроллера может вызвать метод WdfDeviceInitAssignSDDLString. Этот вызов должен возникать после вызова SerCxDeviceInitConfig, но перед вызовом метода WdfDeviceCreate.

Примеры

В следующем примере кода функция обратного вызова драйвера контроллера EvtDriverDeviceAdd передает инициализированную структуру WDFDEVICE_INIT в метод SerCxDeviceInitConfig. Вызов SerCxDeviceInitConfig должен выполняться до вызова WdfDeviceCreate, создающего FDO для устройства последовательного контроллера (UART).

//
// FxDeviceInit is a pointer to an initialized WDFDEVICE_INIT structure.
// Drivers receive a pointer to this structure as an input parameter to an
// EvtDriverDeviceAdd callback function, or as a return value from the
// WdfControlDeviceInitAllocate method.
//

status = SerCxDeviceInitConfig(FxDeviceInit);

if (!NT_SUCCESS(status))
{
    return status;
}

// 
// Set WDF and SerCx device-level configuration options.
//

...

//
// Call the WdfDeviceCreate method.
//

...

Требования

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

См. также

EvtDriverDeviceAdd

WDFDEVICE_INIT

WdfDeviceCreate

WdfDeviceInitAssignSDDLString