Función SerCx2InitializeDevice (sercx.h)
El método
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 |
---|---|
|
Se llamó al método en irQL incorrecto o el parámetro Device no es un identificador WDFDEVICE válido. |
|
El valor |
|
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. |
|
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
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
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 |