0

私は以下のような構造を持っています

class DEVINFO(Structure):
       _fields_ = [("szDeviceName", c_char*MAX_PATH),                                           
                   ("pDevExtension", POINTER(DEVEXTENSION))]

上記において、DEVEXTENSIONの構造は次のとおりです。

class DEVEXTENSION(Structure):
            _fields_ = [("szProductName",c_char*MAX_PATH),
                        ("szManfName",c_char*MAX_PATH),
                        ("szSerialNumber",c_char*32)]

私の質問は、「DEVEXTENSION」構造のメンバーにどのようにアクセスするかです。

devInfo = DEVINFO()
devInfo.szDeviceName = "USB Flash 302"
print(devInfo.szDeviceName)
4

1 に答える 1

2

ctypesチュートリアルから:

ポインタインスタンスには、ポインタが指すオブジェクトを返すcontents属性があります

したがって、devInfo.pDevExtensions.contents.szProductNameたとえば、それが-のインスタンスDEVINFO生成すると仮定すると、ここでそれが生成されることは明らかではありません(ただし、私はctypesに精通していません)。DEVEXTENSION

また、PEP-8CapWordsはクラス名を推奨しCAPS、定数用に予約することをお勧めします。

于 2012-11-29T12:24:47.410 に答える