Función SerCx2PioReceiveCreate (sercx.h)
El método SerCx2PioReceiveCreate crea un objeto PIO-receive, que versión 2 de la extensión de marco serie (SerCx2) usa para realizar transacciones de recepción de PIO.
Sintaxis
NTSTATUS SerCx2PioReceiveCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_RECEIVE_CONFIG PioReceiveConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIORECEIVE *PioReceive
);
Parámetros
[in] Device
Un identificador WDFDEVICE para el objeto de dispositivo de marco que representa el controlador serie. El controlador de controlador serie creó este objeto en su función de devolución de llamada EvtDriverDeviceAdd. Para obtener más información, vea SerCx2InitializeDevice.
[in] PioReceiveConfig
Puntero a una estructura SERCX2_PIO_RECEIVE_CONFIG. Antes de llamar a este método, el autor de la llamada debe llamar a la función SERCX2_PIO_RECEIVE_CONFIG_INIT para inicializar la estructura. Esta estructura contiene punteros a un conjunto de rutinas de devolución de llamada de eventos implementadas por el controlador del controlador serie. SerCx2 llama a estas funciones para realizar transacciones de recepción de PIO.
[in, optional] Attributes
Puntero a una estructura de WDF_OBJECT_ATTRIBUTES que describe los atributos que se van a asignar al nuevo objeto pio-receive. Antes de llamar a este método, el autor de la llamada debe llamar a la función WDF_OBJECT_ATTRIBUTES_INIT para inicializar la estructura. Este parámetro es opcional y se puede especificar como WDF_NO_OBJECT_ATTRIBUTES si el controlador del controlador serie no necesita asignar atributos al objeto . Para obtener más información, vea Comentarios.
[out] PioReceive
Puntero a una ubicación a la que este método escribe un identificador de SERCX2PIORECEIVE en el objeto pio-receive recién creado. SerCx2 y el controlador del controlador serie usan este identificador en llamadas posteriores para hacer referencia a este objeto.
Valor devuelto
Este método 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 |
---|---|
|
Ya existe un objeto PIO-receive de un |
|
El valor de |
|
La combinación especificada de funciones de devolución de llamada implementadas no es válida. El controlador debe implementar el EvtSerCx2PioReceiveReadBuffer, EvtSerCx2PioReceiveEnableReadyNotificationy EvtSerCx2PioReceiveCancelReadyNotification. |
|
Los recursos insuficientes están disponibles para realizar la operación solicitada. |
Observaciones
El controlador de controlador serie llama a este método para crear un objeto pio-receive. SerCx2 utiliza este objeto para realizar transacciones de recepción de PIO, que usan E/S programadas (PIO) para leer los datos recibidos por el controlador serie.
Normalmente, un controlador de controlador serie llama a SerCx2PioReceiveCreate desde su función EvtDriverDeviceAdd. El controlador debe llamar a este método solo después de llamar correctamente al método SerCx2InitializeDevice.
Como opción, un controlador de controlador serie puede usar el parámetro Attributes para crear un contexto para el objeto pio-receive y proporcionar punteros a EvtCleanupCallback y EvtDestroyCallback funciones a las que se llama para preparar el objeto para su eliminación. Para obtener más información, vea WDF_OBJECT_ATTRIBUTES.
Si el parámetro Attributes apunta a una estructura WDF_OBJECT_ATTRIBUTES, el autor de la llamada no debe sobrescribir los valores que escribe la función de inicialización WDF_OBJECT_ATTRIBUTES_INIT en el ParentObject, ExecutionLevely SynchronizationScope miembros de esta estructura.
Para obtener más información sobre cómo crear objetos pio-receive, vea SERCX2PIORECEIVE. Para obtener más información sobre las transacciones de recepción de PIO, consulte SerCx2 PIO-Receive 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 | <= DISPATCH_LEVEL |