Referência do driver USB
Visão geral da tecnologia de referência do driver USB.
Para desenvolver a referência do driver USB, você precisa desses cabeçalhos:
Para obter diretrizes de programação para essa tecnologia, consulte:
IOCTLs
IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para notificar GenericUSBFn.sys para ativar o Barramento Serial Universal (USB). Depois de ativado, o barramento está preparado para processar eventos de barramento e lidar com o tráfego. |
IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo de modo de usuário para se registrar para o evento USB (Barramento Serial Universal). |
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo de modo de usuário para solicitar um controle de comprimento zero status handshake no ponto de extremidade 0 na direção IN. |
IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para concluir um controle de comprimento zero status handshake no ponto de extremidade 0 na direção OUT. |
IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS Esse código IOCTL tem suporte para nevtot. |
IOCTL_GENERICUSBFN_GET_CLASS_INFO Esse IOCTL (código de controle de E/S) é enviado pelo serviço ou aplicativo do modo de usuário para recuperar informações sobre os pipes disponíveis de um dispositivo, conforme configurado no registro. |
IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para recuperar informações sobre os pipes disponíveis de um dispositivo, conforme configurado no registro. |
IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para obter todo o descritor de interface definido para uma função no dispositivo. Essa solicitação IOCTL não recupera o descritor de interface definido para todo o dispositivo. Descritor de interface USB (Barramento Serial Universal) definido para uma função no dispositivo. |
IOCTL_GENERICUSBFN_GET_PIPE_STATE Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para obter o estado do pipe do Barramento Serial Universal (USB) especificado. |
IOCTL_GENERICUSBFN_REGISTER_USB_STRING Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para registrar um descritor de cadeia de caracteres. Descritor de cadeia de caracteres USB (Barramento Serial Universal). |
IOCTL_GENERICUSBFN_SET_PIPE_STATE Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para definir o estado do pipe do Barramento Serial Universal (USB) especificado. |
IOCTL_GENERICUSBFN_TRANSFER_IN Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo de modo de usuário para emitir uma transferência de direção IN no ponto de extremidade que corresponde à ID de pipe especificada no buffer de entrada. (IOCTL_GENERICUSBFN_TRANSFER_IN) |
IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo de modo de usuário para emitir uma transferência de direção IN no ponto de extremidade que corresponde à ID de pipe especificada no buffer de entrada. (IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT) |
IOCTL_GENERICUSBFN_TRANSFER_OUT Esse IOCTL (código de controle de E/S) é enviado por um serviço ou aplicativo no modo de usuário para emitir uma transferência de direção OUT no ponto de extremidade que corresponde à ID de pipe especificada no buffer de entrada. |
IOCTL_GET_HCD_DRIVERKEY_NAME A solicitação de controle de E/S IOCTL_GET_HCD_DRIVERKEY_NAME recupera o nome da chave do driver no registro de um driver de controlador de host USB. |
IOCTL_USB_DIAGNOSTIC_MODE_OFF O controle de E/S IOCTL_USB_DIAGNOSTIC_MODE_OFF foi preterido. Não use. |
IOCTL_USB_DIAGNOSTIC_MODE_ON O controle de E/S IOCTL_USB_DIAGNOSTIC_MODE_ON foi preterido. Não use. |
IOCTL_USB_GET_ROOT_HUB_NAME A solicitação de controle de E/S IOCTL_USB_GET_ROOT_HUB_NAME é usada com a estrutura USB_ROOT_HUB_NAME para recuperar o nome simbólico do link do hub raiz. IOCTL_USB_GET_ROOT_HUB_NAME é uma solicitação de controle de E/S no modo de usuário. |
IOCTL_USB_USER_REQUEST A solicitação de controle de E/S IOCTL_USB_USER_REQUEST está disponível para aplicativos no modo usuário e drivers no modo kernel. |
Enumerações
USB_USER_ERROR_CODE A enumeração USB_USER_ERROR_CODE lista os códigos de erro que uma solicitação de modo de usuário USB relata quando falha. |
WDMUSB_POWER_STATE A enumeração WDMUSB_POWER_STATE indica o estado de energia de um controlador de host ou hub raiz. |
Funções
WinUsb_AbortPipe A função WinUsb_AbortPipe anula todas as transferências pendentes para um pipe. Esta é uma operação síncrona. |
WinUsb_ControlTransfer A função WinUsb_ControlTransfer transmite dados de controle sobre um ponto de extremidade de controle padrão. |
WinUsb_FlushPipe A função WinUsb_FlushPipe descarta todos os dados armazenados em cache em um pipe. Esta é uma operação síncrona. |
WinUsb_Free A função WinUsb_Free libera todos os recursos que WinUsb_Initialize alocados. Esta é uma operação síncrona. |
WinUsb_GetAdjustedFrameNumber A função WinUsb_GetAdjustedFrameNumber calcula qual o número de quadro USB atual deve ser baseado no valor do número de quadro e no carimbo de data/hora. |
WinUsb_GetAssociatedInterface A função WinUsb_GetAssociatedInterface recupera um identificador para uma interface associada. Esta é uma operação síncrona. |
WinUsb_GetCurrentAlternateSetting A função WinUsb_GetCurrentAlternateSetting obtém a configuração de interface alternativa atual para uma interface. Esta é uma operação síncrona. |
WinUsb_GetCurrentFrameNumber A função WinUsb_GetCurrentFrameNumber obtém o número de quadro atual do barramento. |
WinUsb_GetCurrentFrameNumberAndQpc A função WinUsb_GetCurrentFrameNumberAndQpc recupera o valor do QPC (contador de desempenho de consulta do sistema) sincronizado com o quadro e o microframe. |
WinUsb_GetDescriptor A função WinUsb_GetDescriptor retorna o descritor solicitado. Esta é uma operação síncrona. |
WinUsb_GetOverlappedResult A função WinUsb_GetOverlappedResult recupera os resultados de uma operação sobreposta no arquivo especificado. |
WinUsb_GetPipePolicy A função WinUsb_GetPipePolicy recupera a política de um pipe específico associado a um ponto de extremidade no dispositivo. Esta é uma operação síncrona. |
WinUsb_GetPowerPolicy A função WinUsb_GetPowerPolicy recupera a política de energia de um dispositivo. Esta é uma operação síncrona. |
WinUsb_Initialize A função WinUsb_Initialize cria um identificador WinUSB para o dispositivo especificado por um identificador de arquivo. |
WinUsb_QueryDeviceInformation A função WinUsb_QueryDeviceInformation obtém informações sobre o dispositivo físico associado a um identificador de interface WinUSB. |
WinUsb_QueryInterfaceSettings A função WinUsb_QueryInterfaceSettings recupera o descritor de interface para as configurações de interface alternativa especificadas para um identificador de interface específico. |
WinUsb_QueryPipe A função WinUsb_QueryPipe recupera informações sobre o ponto de extremidade especificado e o pipe associado para uma interface. |
WinUsb_QueryPipeEx A função WinUsb_QueryPipeEx recupera informações estendidas sobre o ponto de extremidade especificado e o pipe associado para uma interface. |
WinUsb_ReadIsochPipe A função WinUsb_ReadIsochPipe lê dados de um ponto de extremidade OUT isócrono. |
WinUsb_ReadIsochPipeAsap A função WinUsb_ReadIsochPipeAsap envia uma solicitação que lê dados de um ponto de extremidade OUT isócrono. |
WinUsb_ReadPipe A função WinUsb_ReadPipe lê dados do pipe especificado. |
WinUsb_RegisterIsochBuffer A função WinUsb_RegisterIsochBuffer registra um buffer a ser usado para transferências isocronas. |
WinUsb_ResetPipe A função WinUsb_ResetPipe redefine a alternância de dados e limpa a condição de parada em um pipe. |
WinUsb_SetCurrentAlternateSetting A função WinUsb_SetCurrentAlternateSetting define a configuração alternativa de uma interface. |
WinUsb_SetPipePolicy A função WinUsb_SetPipePolicy define a política para um pipe específico associado a um ponto de extremidade no dispositivo. Esta é uma operação síncrona. |
WinUsb_SetPowerPolicy A função WinUsb_SetPowerPolicy define a política de energia de um dispositivo. |
WinUsb_StartTrackingForTimeSync A função WinUsb_StartTrackingForTimeSync inicia o recurso de sincronização de tempo na pilha do driver USB que obtém o tempo de QPC do sistema associado para quadros de barramento USB e microframes. |
WinUsb_StopTrackingForTimeSync A função WinUsb_StopTrackingForTimeSync lidera o recurso de sincronização de tempo na pilha do driver USB que obtém o tempo de QPC do sistema associado para quadros de barramento USB e microframes. |
WinUsb_UnregisterIsochBuffer A função WinUsb_UnregisterIsochBuffer libera todos os recursos que WinUsb_RegisterIsochBuffer alocados para transferências isocronas. Esta é uma operação síncrona. |
WinUsb_WriteIsochPipe A função WinUsb_WriteIsochPipe grava o conteúdo de um buffer fornecido pelo chamador em um ponto de extremidade OUT isócrono, começando em um número de quadro especificado. |
WinUsb_WriteIsochPipeAsap O WinUsb_WriteIsochPipeAsap envia uma solicitação para gravar o conteúdo de um buffer em um ponto de extremidade OUT isócrono. |
WinUsb_WritePipe A função WinUsb_WritePipe grava dados em um pipe. |
Estruturas
USB_BANDWIDTH_INFO A estrutura USB_BANDWIDTH_INFO é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar informações sobre a largura de banda alocada. |
USB_BUS_STATISTICS_0 A estrutura USB_BUS_STATISTICS_0 é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar estatísticas de barramento. |
USB_CLOSE_RAW_DEVICE_PARAMETERS Não há suporte para essa estrutura. A estrutura USB_CLOSE_RAW_DEVICE_PARAMETERS é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para fechar o acesso bruto aos dispositivos no barramento. |
USB_CONTROLLER_INFO_0 A estrutura USB_CONTROLLER_INFO_0 é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar informações sobre o controlador de host USB. |
USB_DRIVER_VERSION_PARAMETERS A estrutura USB_DRIVER_VERSION_PARAMETERS é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar informações de versão. |
USB_PASS_THRU_PARAMETERS A estrutura USB_PASS_THRU_PARAMETERS é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para passar um comando específico do fornecedor para o driver de miniporto do controlador host. |
USB_POWER_INFO A estrutura USB_POWER_INFO é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar o estado de energia do dispositivo que a política de energia do controlador de host especifica para o estado de energia do sistema indicado. |
USB_UNICODE_NAME A estrutura USB_UNICODE_NAME contém uma cadeia de caracteres Unicode que especifica um nome de link simbólico. |
USBUSER_BANDWIDTH_INFO_REQUEST A estrutura USBUSER_BANDWIDTH_INFO_REQUEST é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar informações sobre a largura de banda alocada. |
USBUSER_BUS_STATISTICS_0_REQUEST A estrutura de USBUSER_BUS_STATISTICS_0_REQUEST é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar estatísticas de barramento. |
USBUSER_CONTROLLER_UNICODE_NAME A estrutura USBUSER_CONTROLLER_UNICODE_NAME é usada em conjunto com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar o nome da chave de driver do controlador de host USB. |
USBUSER_GET_DRIVER_VERSION A estrutura USBUSER_GET_DRIVER_VERSION é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para ler informações de versão do driver e da interface. |
USBUSER_PASS_THRU_REQUEST A estrutura USBUSER_PASS_THRU_REQUEST é usada em conjunto com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para enviar um comando específico do fornecedor para o driver de miniporte do controlador host. |
USBUSER_POWER_INFO_REQUEST A estrutura USBUSER_POWER_INFO_REQUEST é usada em conjunto com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para recuperar informações de política de energia sobre a relação de um estado específico do sistema com o estado de energia do controlador de host e do hub raiz. |
USBUSER_REQUEST_HEADER A estrutura USBUSER_REQUEST_HEADER é usada com a solicitação de controle de E/S IOCTL_USB_USER_REQUEST para enviar uma solicitação de modo de usuário para o driver do controlador de host USB. |
WINUSB_PIPE_INFORMATION A estrutura WINUSB_PIPE_INFORMATION contém informações de pipe que a rotina WinUsb_QueryPipe recupera. |
WINUSB_PIPE_INFORMATION_EX A estrutura WINUSB_PIPE_INFORMATION_EX contém informações de pipe que a rotina de WinUsb_QueryPipeEx recupera. |
WINUSB_SETUP_PACKET A estrutura WINUSB_SETUP_PACKET descreve um pacote de configuração USB. |