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 controlador WDFDEVICE para el objeto de dispositivo de marco que representa el controlador serie. Para obtener más información, vea la sección 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 serie. La versión 2 del controlador de marco de trabajo 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 valortamaño de configuración-> no es igual a sizeof(SERCX2_CONFIG). |
|
El miembro RequestAttributes no es válido o faltan funciones de devolución de llamada necesarias en la lista de punteros de función. Para obtener más información, vea la sección Comentarios. |
|
Hay recursos insuficientes disponibles para realizar la operación solicitada. |
Comentarios
Antes de llamar a este método, el controlador de controlador serie debe haber llamado previamente al método SerCx2InitializeDeviceInit .
El controlador de controlador de serie debe llamar a este método desde su función de devolución de llamada EvtDriverDeviceAdd 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 para obtener un identificador WDFDEVICE para este objeto.
SerCx2 requiere tres de los punteros de función en la estructura SERCX2_CONFIG . El controlador debe implementar las funciones de devolución de llamada EvtSerCx2PurgeFifos, EvtSerCx2Control y EvtSerCx2ApplyConfig . De lo contrario, se produce un error en la llamada a SerCx2InitializeDevice y devuelve STATUS_INVALID_PARAMETER.
Si el miembro RequestAttributes de la estructura de SERCX2_CONFIG se establece en un valor distinto de WDF_NO_OBJECT_ATTRIBUTES, el controlador no debe sobrescribir los valores escritos en los miembros ParentObject, ExecutionLevel y SynchronizationScope de esta estructura mediante la función WDF_OBJECT_ATTRIBUTES_INIT . De lo contrario, se produce un error en la llamada a SerCx2InitializeDevice y devuelve STATUS_INVALID_PARAMETER.
Si el controlador llama al método WdfDeviceInitSetRequestAttributes para establecer los atributos que se van a usar para 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 | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8.1. |
Plataforma de destino | Universal |
Encabezado | sercx.h |
IRQL | PASSIVE_LEVEL |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de