VirtualBox

Changeset 60498 in vbox for trunk/src/VBox/HostDrivers


Ignore:
Timestamp:
Apr 14, 2016 3:23:51 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
106607
Message:

VBoxUSB.sys: Workaround to allow aborting the default control pipe.

Location:
trunk/src/VBox/HostDrivers/VBoxUSB/win/dev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbRt.cpp

    r60487 r60498  
    897897static HANDLE vboxUsbRtGetPipeHandle(PVBOXUSBDEV_EXT pDevExt, uint32_t EndPointAddress)
    898898{
     899    if (EndPointAddress == 0)
     900    {
     901        return pDevExt->Rt.hPipe0;
     902    }
     903
    899904    for (ULONG i = 0; i < pDevExt->Rt.uNumInterfaces; i++)
    900905    {
     
    10831088                 */
    10841089                pUrbInfo->len += sizeof (pUrb->UrbControlTransfer.SetupPacket);
     1090
     1091                /* If a control URB was successfully completed on the default control
     1092                 * pipe, stash away the handle. When submitting the URB, we don't need
     1093                 * to know (and initially don't have) the handle. If we want to abort
     1094                 * the default control pipe, we *have* to have a handle. This is how we
     1095                 * find out what the handle is.
     1096                 */
     1097                if (!pUrbInfo->ep && (pDevExt->Rt.hPipe0 == NULL))
     1098                {
     1099                    pDevExt->Rt.hPipe0 = pUrb->UrbControlTransfer.PipeHandle;
     1100                }
     1101
    10851102                break;
    10861103            case USBSUP_TRANSFER_TYPE_ISOC:
  • trunk/src/VBox/HostDrivers/VBoxUSB/win/dev/VBoxUsbRt.h

    r56293 r60498  
    3636    UNICODE_STRING                  IfName;
    3737
     38    HANDLE                          hPipe0;
    3839    HANDLE                          hConfiguration;
    3940    uint32_t                        uConfigValue;
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette