File size: 1,064 Bytes
c19ca42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from ctypes import Union, c_double, c_longlong, Structure, POINTER
from ctypes.wintypes import HANDLE, LONG, LPCSTR, LPCWSTR, DWORD, LPWSTR


PDH_HQUERY = HANDLE
PDH_HCOUNTER = HANDLE


class PDH_FMT_COUNTERVALUE_U(Union):
    _fields_ = [
        ("longValue", LONG),
        ("doubleValue", c_double),
        ("largeValue", c_longlong),
        ("AnsiStringValue", LPCSTR),
        ("WideStringValue", LPCWSTR),
    ]

    longValue: int
    doubleValue: float
    largeValue: int
    AnsiStringValue: LPCSTR
    WideStringValue: LPCWSTR


class PDH_FMT_COUNTERVALUE(Structure):
    _anonymous_ = ("u",)
    _fields_ = [
        ("CStatus", DWORD),
        ("u", PDH_FMT_COUNTERVALUE_U),
    ]

    CStatus: DWORD
    u: PDH_FMT_COUNTERVALUE_U
PPDH_FMT_COUNTERVALUE = POINTER(PDH_FMT_COUNTERVALUE)


class PDH_FMT_COUNTERVALUE_ITEM_W(Structure):
    _fields_ = [
        ("szName", LPWSTR),
        ("FmtValue", PDH_FMT_COUNTERVALUE),
    ]

    szName: str
    FmtValue: PDH_FMT_COUNTERVALUE
PPDH_FMT_COUNTERVALUE_ITEM_W = POINTER(PDH_FMT_COUNTERVALUE_ITEM_W)