IOCTL_INTERNAL_USBFN_TRANSFER_IN_APPEND_ZERO_PKT IOCTL (usbfnioctl.h)

O driver de classe envia essa solicitação para iniciar uma transferência IN para o pipe especificado e acrescenta um pacote de comprimento zero para indicar o fim da transferência.

Código principal

IRP_MJ_INTERNAL_DEVICE_CONTROL

Buffer de entrada

Um ponteiro para um tipo USBFNPIPEID que especifica a ID do pipe.

Comprimento do buffer de entrada

O tamanho de um tipo USBFNPIPEID .

Buffer de saída

O buffer de saída aponta para um buffer de dados que contém os dados a serem enviados. A direção IN é da perspectiva do host que representa uma transferência de saída do dispositivo para o host.

Comprimento do buffer de saída

O tamanho dos dados a serem enviados.

Bloco de status

Se a solicitação for bem-sucedida, a EXTENSÃO de classe de função USB (UFX) retornará STATUS_SUCCESS ou outro valor status para o qual NT_SUCCESS(status) é igual a TRUE. Caso contrário, retornará um valor status para o qual NT_SUCCESS(status) é igual a FALSE.

Comentários

Essa solicitação deve ser enviada após o envio da solicitação de IOCTL_INTERNAL_USBFN_ACTIVATE_USB_BUS .

A UFX encaminha essa solicitação IOCTL para a fila de transferência criada para o ponto de extremidade por UfxEndpointCreate.

O controlador de funções inicia uma transferência na direção IN no ponto de extremidade e acrescenta automaticamente uma transferência de pacote de comprimento zero depois que os dados fornecidos no buffer de dados são enviados com êxito. Um pacote de comprimento zero só será acrescentado pelo controlador se o tamanho da carga de transferência for um múltiplo do tamanho máximo do pacote do ponto de extremidade.

Requisitos

Requisito Valor
Cabeçalho usbfnioctl.h