IOCTL_INTERNAL_USBFN_TRANSFER_IN_APPEND_ZERO_PKT IOCTL (usbfnioctl.h)
El controlador de clase envía esta solicitud para iniciar una transferencia IN a la canalización especificada y anexa un paquete de longitud cero para indicar el final de la transferencia.
Código principal
IRP_MJ_INTERNAL_DEVICE_CONTROL
Búfer de entrada
Puntero a un tipo USBFNPIPEID que especifica el identificador de canalización.
Longitud del búfer de entrada
Tamaño de un tipo USBFNPIPEID .
Búfer de salida
El búfer de salida apunta a un búfer de datos que contiene los datos que se van a enviar. La dirección IN es desde la perspectiva del host que representa una transferencia saliente desde el dispositivo al host.
Longitud del búfer de salida
Tamaño de los datos que se van a enviar.
Bloque de estado
Si la solicitud se realiza correctamente, la extensión de clase de función USB (UFX) devuelve STATUS_SUCCESS u otro valor de estado para el que NT_SUCCESS(status) es igual a TRUE. De lo contrario, devuelve un valor de estado para el que NT_SUCCESS(status) es igual a FALSE.
Comentarios
Esta solicitud debe enviarse después de enviar la solicitud de IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS .
UFX reenvía esta solicitud IOCTL a la cola de transferencia creada para el punto de conexión por UfxEndpointCreate.
El controlador de función inicia una transferencia en la dirección IN en el punto de conexión y anexa automáticamente una transferencia de paquetes de longitud cero después de que los datos proporcionados en el búfer de datos se envíen correctamente. El controlador solo anexa un paquete de longitud cero si el tamaño de la carga de transferencia es un múltiplo del tamaño máximo del paquete del punto de conexión.
Requisitos
Requisito | Valor |
---|---|
Header | usbfnioctl.h |