Macro UsbBuildInterruptOrBulkTransferRequest (usbdlib.h)

A macro UsbBuildInterruptOrBulkTransferRequest formata um URB para enviar ou receber dados em um pipe em massa ou para receber dados de um pipe de interrupção.

Sintaxe

void UsbBuildInterruptOrBulkTransferRequest(
  [in, out]       urb,
  [in]            length,
  [in]            pipeHandle,
  [in, optional]  transferBuffer,
  [in, optional]  transferBufferMDL,
  [in]            transferBufferLength,
  [in]            transferFlags,
  [in]            link
);

Parâmetros

[in, out] urb

Ponteiro para um URB a ser formatado como uma solicitação de interrupção ou transferência em massa.

[in] length

Especifica o tamanho, em bytes, da URB.

[in] pipeHandle

Especifica o identificador desse pipe retornado pelo HCD quando uma configuração foi selecionada.

[in, optional] transferBuffer

Ponteiro para um buffer residente para a transferência ou será NULL se um MDL for fornecido em TransferBufferMDL. O conteúdo desse buffer depende do valor de TransferFlags. Se USBD_TRANSFER_DIRECTION_IN for especificado, esse buffer conterá dados lidos do dispositivo no retorno do HCD. Caso contrário, esse buffer contém dados fornecidos pelo driver a serem transferidos para o dispositivo.

[in, optional] transferBufferMDL

Ponteiro para um MDL que descreve um buffer residente ou é NULL se um buffer for fornecido no TransferBuffer. O conteúdo do buffer depende do valor de TransferFlags. Se USBD_TRANSFER_DIRECTION_IN for especificado, o buffer descrito conterá dados lidos do dispositivo no retorno do HCD. Caso contrário, o buffer contém dados fornecidos pelo driver a serem transferidos para o dispositivo. O MDL deve ser alocado do pool nãopagado.

[in] transferBufferLength

Especifica o comprimento, em bytes, do buffer especificado em TransferBuffer ou descrito em TransferBufferMDL.

[in] transferFlags

Especifica zero, um ou uma combinação dos seguintes sinalizadores:

USBD_TRANSFER_DIRECTION_IN

Está definido para solicitar dados de um dispositivo. Para transferir dados para um dispositivo, esse sinalizador deve estar claro.

USBD_SHORT_TRANSFER_OK

Pode ser usado se USBD_TRANSFER_DIRECTION_IN estiver definido. Se definido, direciona o HCD para não retornar um erro se um pacote for recebido do dispositivo menor que o tamanho máximo do pacote para o ponto de extremidade. Caso contrário, uma solicitação curta retornará uma condição de erro.

[in] link

Reservado. Deve ser definido como NULL.

Retornar valor

Nenhum

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho usbdlib.h (inclua Usbdlib.h)

Confira também

URB

Referência de programação de driver de dispositivo USB

USB_DEVICE_DESCRIPTOR