VirtualBox

忽略:
時間撮記:
2011-9-16 下午09:42:20 (13 年 以前)
作者:
vboxsync
訊息:

VBoxUsbLib-win.cpp: r=bird: Marked some bogus looking string conversion code.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/HostDrivers/VBoxUSB/win/lib/VBoxUsbLib-win.cpp

    r38715 r38785  
    5151*   Structures and Typedefs                                                    *
    5252*******************************************************************************/
    53 typedef struct _USB_INTERFACE_DESCRIPTOR2 
     53typedef struct _USB_INTERFACE_DESCRIPTOR2
    5454{
    5555    UCHAR  bLength;
     
    8686} VBOXUSB_STRING_DR_ENTRY, *PVBOXUSB_STRING_DR_ENTRY;
    8787
    88 /** 
     88/**
    8989 * This represents VBoxUsb device instance
    9090 */
     
    344344        {
    345345            char *pStringUTF8 = NULL;
     346/** @todo r=bird: This code is making bad asumptions that strings are sane and
     347 *  that stuff succeeds:
     348 *  http://vbox.innotek.de/pipermail/vbox-dev/2011-August/004516.html
     349 *
     350 *  Also, why is this code converting stuff to the ANSI code page?!?  If
     351 *  That's somehow required, the reason must be documented since all strings in
     352 *  VBox are UTF-8 unless explicitly stated otherwise! */
    346353            RTUtf16ToUtf8((PCRTUTF16)pDrList->StrDr.bString, &pStringUTF8);
    347354            RTStrUtf8ToCurrentCP(lppszString, pStringUTF8);
     
    12491256    g_VBoxUsbGlobal.hWnd = NULL;
    12501257
    1251     /* 
     1258    /*
    12521259     * Register the Window Class and the hitten window create.
    12531260     */
     
    12841291                     SWP_NOACTIVATE | SWP_HIDEWINDOW | SWP_NOCOPYBITS | SWP_NOREDRAW | SWP_NOSIZE);
    12851292
    1286         /* 
     1293        /*
    12871294         * The message pump.
    12881295         */
     
    13441351             * Open the USB monitor device, starting if needed.
    13451352             */
    1346             g_VBoxUsbGlobal.hMonitor = CreateFile(USBMON_DEVICE_NAME, 
    1347                                                   GENERIC_READ | GENERIC_WRITE, 
    1348                                                   FILE_SHARE_READ | FILE_SHARE_WRITE, 
     1353            g_VBoxUsbGlobal.hMonitor = CreateFile(USBMON_DEVICE_NAME,
     1354                                                  GENERIC_READ | GENERIC_WRITE,
     1355                                                  FILE_SHARE_READ | FILE_SHARE_WRITE,
    13491356                                                  NULL,
    1350                                                   OPEN_EXISTING, 
    1351                                                   FILE_ATTRIBUTE_SYSTEM, 
     1357                                                  OPEN_EXISTING,
     1358                                                  FILE_ATTRIBUTE_SYSTEM,
    13521359                                                  NULL);
    13531360
     
    13571364                if (hr == S_OK)
    13581365                {
    1359                     g_VBoxUsbGlobal.hMonitor = CreateFile(USBMON_DEVICE_NAME, 
    1360                                                           GENERIC_READ | GENERIC_WRITE, 
     1366                    g_VBoxUsbGlobal.hMonitor = CreateFile(USBMON_DEVICE_NAME,
     1367                                                          GENERIC_READ | GENERIC_WRITE,
    13611368                                                          FILE_SHARE_READ | FILE_SHARE_WRITE,
    1362                                                           NULL, 
    1363                                                           OPEN_EXISTING, 
    1364                                                           FILE_ATTRIBUTE_SYSTEM, 
     1369                                                          NULL,
     1370                                                          OPEN_EXISTING,
     1371                                                          FILE_ATTRIBUTE_SYSTEM,
    13651372                                                          NULL);
    13661373                    if (g_VBoxUsbGlobal.hMonitor == INVALID_HANDLE_VALUE)
     
    13761383            {
    13771384                /*
    1378                  * Check the USB monitor version. 
    1379                  * 
    1380                  * Drivers are backwards compatible within the same major 
    1381                  * number.  We consider the minor version number this library 
     1385                 * Check the USB monitor version.
     1386                 *
     1387                 * Drivers are backwards compatible within the same major
     1388                 * number.  We consider the minor version number this library
    13821389                 * is compiled with to be the minimum required by the driver.
    1383                  * This is by reasoning that the library uses the full feature 
    1384                  * set of the driver it's written for. 
     1390                 * This is by reasoning that the library uses the full feature
     1391                 * set of the driver it's written for.
    13851392                 */
    13861393                USBSUP_VERSION  Version = {0};
    13871394                DWORD           cbReturned = 0;
    1388                 if (DeviceIoControl(g_VBoxUsbGlobal.hMonitor, SUPUSBFLT_IOCTL_GET_VERSION, 
    1389                                     NULL, 0, 
    1390                                     &Version, sizeof (Version), 
     1395                if (DeviceIoControl(g_VBoxUsbGlobal.hMonitor, SUPUSBFLT_IOCTL_GET_VERSION,
     1396                                    NULL, 0,
     1397                                    &Version, sizeof (Version),
    13911398                                    &cbReturned, NULL))
    13921399                {
    1393                     if (   Version.u32Major == USBMON_MAJOR_VERSION 
     1400                    if (   Version.u32Major == USBMON_MAJOR_VERSION
    13941401                        && Version.u32Minor >= USBMON_MINOR_VERSION)
    13951402                    {
    13961403#ifndef VBOX_USB_USE_DEVICE_NOTIFICATION
    13971404                        /*
    1398                          * Tell the monitor driver which event object to use 
     1405                         * Tell the monitor driver which event object to use
    13991406                         * for notifications.
    14001407                         */
     
    14101417                            if (RT_SUCCESS(rc))
    14111418                            {
    1412                                 /* 
     1419                                /*
    14131420                                 * We're DONE!
    1414                                  */ 
     1421                                 */
    14151422                                return VINF_SUCCESS;
    14161423                            }
     
    14451452                                if (g_VBoxUsbGlobal.hWnd)
    14461453                                {
    1447                                     /* 
     1454                                    /*
    14481455                                     * We're DONE!
    1449                                      * 
    1450                                      * Juse ensure that the event is set so the 
     1456                                     *
     1457                                     * Juse ensure that the event is set so the
    14511458                                     * first "wait change" request is processed.
    14521459                                     */
     
    14801487                    else
    14811488                    {
    1482                         LogRel((__FUNCTION__": USB Monitor driver version mismatch! driver=%u.%u library=%u.%u\n", 
     1489                        LogRel((__FUNCTION__": USB Monitor driver version mismatch! driver=%u.%u library=%u.%u\n",
    14831490                                Version.u32Major, Version.u32Minor, USBMON_MAJOR_VERSION, USBMON_MINOR_VERSION));
    14841491#ifdef VBOX_WITH_ANNOYING_USB_ASSERTIONS
     
    15801587    AssertMsg(bRc, ("CloseHandle for hMonitor failed winEr(%d)\n", GetLastError()));
    15811588    g_VBoxUsbGlobal.hMonitor = INVALID_HANDLE_VALUE;
    1582          
     1589
    15831590    bRc = CloseHandle(g_VBoxUsbGlobal.hInterruptEvent);
    15841591    AssertMsg(bRc, ("CloseHandle for hInterruptEvent failed lasterr=%u\n", GetLastError()));
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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