Compartir a través de


Función SerCx2InitializeDevice (sercx.h)

El método SerCx2InitializeDevice termina de inicializar el objeto de dispositivo de marco para el controlador serie.

Sintaxis

NTSTATUS SerCx2InitializeDevice(
  [in] WDFDEVICE      Device,
  [in] PSERCX2_CONFIG Config
);

Parámetros

[in] Device

Un identificador WDFDEVICE para el objeto de dispositivo de marco que representa el controlador serie. Para obtener más información, vea Comentarios.

[in] Config

Puntero a una estructura de SERCX2_CONFIG asignada por el autor de la llamada que contiene punteros a un conjunto de funciones de devolución de llamada de eventos implementadas por el controlador del controlador de serie. La versión 2 del controlador de marco serie (SerCx2) llama a estas funciones para configurar el controlador serie y para realizar operaciones básicas independientes de los tipos de transacción de E/S (PIO, DMA del sistema o personalizados) que admite el controlador.

Valor devuelto

serCx2InitializeDevice devuelve STATUS_SUCCESS si la llamada se realiza correctamente. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.

Código devuelto Descripción
STATUS_INVALID_DEVICE_REQUEST
Se llamó al método en irQL incorrecto o el parámetro Device no es un identificador WDFDEVICE válido.
STATUS_INFO_LENGTH_MISMATCH
El valorTamaño de no es igual tamaño de(SERCX2_CONFIG).
STATUS_INVALID_PARAMETER
Los requestAttributes miembro no son válidos o faltan funciones de devolución de llamada necesarias en la lista de punteros de función. Para obtener más información, vea Comentarios.
STATUS_INSUFFICIENT_RESOURCES
Los recursos insuficientes están disponibles para realizar la operación solicitada.

Observaciones

Antes de llamar a este método, el controlador de controlador serie debe haber llamado previamente al método SerCx2InitializeDeviceInit.

El controlador del controlador serie debe llamar a este método desde su EvtDriverDeviceAdd función de devolución de llamada después de crear un objeto de dispositivo de marco para el controlador serie. Normalmente, el controlador llama a un método como WdfDeviceCreate para crear el objeto de dispositivo de marco y obtener un identificador WDFDEVICE para este objeto.

SerCx2 requiere tres de los punteros de función de la estructura de SERCX2_CONFIG. El controlador debe implementar el EvtSerCx2PurgeFifos, EvtSerCx2Controly EvtSerCx2ApplyConfig funciones de devolución de llamada. De lo contrario, se produce un error en la llamada de serCx2InitializeDevice y devuelve STATUS_INVALID_PARAMETER.

Si el requestAttributes miembro de la estructura SERCX2_CONFIG se establece en un valor distinto de WDF_NO_OBJECT_ATTRIBUTES, el controlador no debe sobrescribir los valores escritos en el ParentObject, ExecutionLevely SynchronizationScope miembros de esta estructura mediante la función WDF_OBJECT_ATTRIBUTES_INIT. De lo contrario, se produce un error en la llamada de serCx2InitializeDevice y devuelve STATUS_INVALID_PARAMETER.

Si el controlador llama al método WdfDeviceInitSetRequestAttributes para establecer los atributos que se usarán para los objetos de solicitud, los atributos de solicitud especificados en esta llamada deben coincidir con los atributos de solicitud que el controlador especifica en la llamada a SerCx2InitializeDevice. Para obtener más información, vea SerCx2 Custom-Receive Transactions y SerCx2 Custom-Transmit Transactions.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 8.1.
de la plataforma de destino de Universal
encabezado de sercx.h
irQL PASSIVE_LEVEL

Consulte también

EvtDriverDeviceAdd

SERCX2_CONFIG

SerCx2InitializeDeviceInit

WdfDeviceCrear

WdfDeviceInitSetRequestAttributes