none
USBの消費電力を取得したい RRS feed

  • 質問

  • 現在接続されているUSB製品の消費電力(A)を取得できるAPIやIOCTLなどないでしょうか?

    デバイスマネージャ→USB ROOT Hub→電力で消費電力が見えることから、

    何か取得できる手段があるのではないかと思っております。

    ご存知の方、ご教示ください。

    2014年3月3日 4:39

回答

  • F.Y.I.
    ------------------------------
    USBView sample application
    http://code.msdn.microsoft.com/windowshardware/USBView-sample-application-e3241039
    ------------------------------
    Ex.] USBView ツールで採取した某メーカの USB メモリの情報

    Device Descriptor:
    bcdUSB:             0x0200
    bDeviceClass:         0x00
    bDeviceSubClass:      0x00
    bDeviceProtocol:      0x00
    bMaxPacketSize0:      0x40 (64)
    idVendor:           0x----
    idProduct:          0x----
    bcdDevice:          0x0100
    iManufacturer:        0x01
    0x0409: "xxxx"
    iProduct:             0x02
    0x0409: "xxxxxxx xxxxx"
    iSerialNumber:        0x03
    0x0409: "-------------"
    bNumConfigurations:   0x01

    ConnectionStatus: DeviceConnected
    Current Config Value: 0x01
    Device Bus Speed:     Full
    Device Address:       0x02
    Open Pipes:              2

    Endpoint Descriptor:
    bEndpointAddress:     0x81
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF

    Endpoint Descriptor:
    bEndpointAddress:     0x02
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF

    Configuration Descriptor:
    wTotalLength:       0x0020
    bNumInterfaces:       0x01
    bConfigurationValue:  0x01
    iConfiguration:       0x00
    bmAttributes:         0x80 (Bus Powered )
    MaxPower:             0x64 (200 mA)     ;; <==== ☆☆☆ これ ☆☆☆

    Interface Descriptor:
    bInterfaceNumber:     0x00
    bAlternateSetting:    0x00
    bNumEndpoints:        0x02
    bInterfaceClass:      0x08
    bInterfaceSubClass:   0x06
    bInterfaceProtocol:   0x50
    iInterface:           0x00

    Endpoint Descriptor:
    bEndpointAddress:     0x81
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF

    Endpoint Descriptor:
    bEndpointAddress:     0x02
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF
    ------------------------------

    • 回答の候補に設定 星 睦美 2014年3月4日 2:26
    • 回答としてマーク 星 睦美 2014年3月10日 6:39
    2014年3月3日 5:54

すべての返信

  • F.Y.I.
    ------------------------------
    USBView sample application
    http://code.msdn.microsoft.com/windowshardware/USBView-sample-application-e3241039
    ------------------------------
    Ex.] USBView ツールで採取した某メーカの USB メモリの情報

    Device Descriptor:
    bcdUSB:             0x0200
    bDeviceClass:         0x00
    bDeviceSubClass:      0x00
    bDeviceProtocol:      0x00
    bMaxPacketSize0:      0x40 (64)
    idVendor:           0x----
    idProduct:          0x----
    bcdDevice:          0x0100
    iManufacturer:        0x01
    0x0409: "xxxx"
    iProduct:             0x02
    0x0409: "xxxxxxx xxxxx"
    iSerialNumber:        0x03
    0x0409: "-------------"
    bNumConfigurations:   0x01

    ConnectionStatus: DeviceConnected
    Current Config Value: 0x01
    Device Bus Speed:     Full
    Device Address:       0x02
    Open Pipes:              2

    Endpoint Descriptor:
    bEndpointAddress:     0x81
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF

    Endpoint Descriptor:
    bEndpointAddress:     0x02
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF

    Configuration Descriptor:
    wTotalLength:       0x0020
    bNumInterfaces:       0x01
    bConfigurationValue:  0x01
    iConfiguration:       0x00
    bmAttributes:         0x80 (Bus Powered )
    MaxPower:             0x64 (200 mA)     ;; <==== ☆☆☆ これ ☆☆☆

    Interface Descriptor:
    bInterfaceNumber:     0x00
    bAlternateSetting:    0x00
    bNumEndpoints:        0x02
    bInterfaceClass:      0x08
    bInterfaceSubClass:   0x06
    bInterfaceProtocol:   0x50
    iInterface:           0x00

    Endpoint Descriptor:
    bEndpointAddress:     0x81
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF

    Endpoint Descriptor:
    bEndpointAddress:     0x02
    Transfer Type:        Bulk
    wMaxPacketSize:     0x0200 (512)
    bInterval:            0xFF
    ------------------------------

    • 回答の候補に設定 星 睦美 2014年3月4日 2:26
    • 回答としてマーク 星 睦美 2014年3月10日 6:39
    2014年3月3日 5:54
  • フォーラム オペレーターの星 睦美です。

    hidekix さんの質問へのお馬鹿 さんからの返信を[回答の候補に設定] しました。
    もし回答の内容に引き続き質問があれば返信をいただければと思います。

    ※フォーラム ユーザーからの役立つ回答には、投稿者から[回答としてマーク] をお願いします。

    ---

    フォーラムで参考になる情報だと思いますので、今回は私から[回答としてマーク] させていただきました。
    今後ともMSDN フォーラムをよろしくお願いします。


    フォーラム オペレーター 星 睦美 - MSDN Community Support


    • 編集済み 星 睦美 2014年3月10日 6:40 回答としてマーク
    2014年3月6日 4:27