SerCxDeviceInitConfig 函数 (sercx.h)

SerCxDeviceInitConfig 方法由串行控制器驱动程序调用,用于将串行框架扩展 (SerCx) 附加到所创建的框架设备对象 (FDO 或 PDO) 的 I/O 管道。

语法

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

参数

[in, out] DeviceInit

指向要配置的 WDFDEVICE_INIT 结构的指针。

返回值

如果调用成功,SerCxDeviceInitConfig 返回STATUS_SUCCESS。 可能的错误返回值包括以下状态代码。

返回代码 描述
STATUS_INSUFFICIENT_RESOURCES
无法分配系统资源(通常是内存)。

言论

此方法将 SerCx 的配置信息与要创建的框架设备对象(PDO 或 FDO)的 WDFDEVICE_INIT 结构相关联。 调用 SerCxDeviceInitConfig,然后调用 WdfDeviceCreate 方法来创建设备对象。

控制器驱动程序的 EvtDriverDeviceAdd 回调函数接收指向初始化 WDFDEVICE_INIT 结构的指针作为输入参数。

SerCx 设置串行控制器驱动程序可以根据需要替代的默认安全描述符。 例如,此默认安全描述符使用户模式驱动程序能够将 I/O 请求发送到连接到串行控制器上的端口的外围设备。 若要在安全描述符中更改此设置,串行控制器驱动程序可以调用 WdfDeviceInitAssignSDDLString 方法。 此调用必须发生在 SerCxDeviceInitConfig 调用之后,但在调用 WdfDeviceCreate 方法之前。

例子

在以下代码示例中,控制器驱动程序的 EvtDriverDeviceAdd 回调函数将初始化的 WDFDEVICE_INIT 结构传递给 SerCxDeviceInitConfig 方法。 调用 SerCxDeviceInitConfig 必须在 WdfDeviceCreate 调用(用于为串行控制器设备(UART)创建 FDO 之前发生。

//
// 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