github.com/kbinani/win@v0.3.0/pdh.go (about)

     1  // This file was automatically generated by https://github.com/kbinani/win/blob/generator/internal/cmd/gen/gen.go
     2  // go run internal/cmd/gen/gen.go
     3  
     4  // +build windows
     5  
     6  package win
     7  
     8  import (
     9  	"unsafe"
    10  )
    11  
    12  var (
    13  	// Library
    14  	libpdh uintptr
    15  
    16  	// Functions
    17  	pdhAddCounter                   uintptr
    18  	pdhAddEnglishCounter            uintptr
    19  	pdhBindInputDataSource          uintptr
    20  	pdhCalculateCounterFromRawValue uintptr
    21  	pdhCloseQuery                   uintptr
    22  	pdhCollectQueryData             uintptr
    23  	pdhCollectQueryDataEx           uintptr
    24  	pdhCollectQueryDataWithTime     uintptr
    25  	pdhEnumObjectItems              uintptr
    26  	pdhExpandCounterPath            uintptr
    27  	pdhExpandWildCardPath           uintptr
    28  	pdhGetCounterInfo               uintptr
    29  	pdhGetCounterTimeBase           uintptr
    30  	pdhGetDllVersion                uintptr
    31  	pdhGetFormattedCounterValue     uintptr
    32  	pdhGetLogFileType               uintptr
    33  	pdhGetRawCounterValue           uintptr
    34  	pdhLookupPerfIndexByName        uintptr
    35  	pdhLookupPerfNameByIndex        uintptr
    36  	pdhMakeCounterPath              uintptr
    37  	pdhOpenQuery                    uintptr
    38  	pdhRemoveCounter                uintptr
    39  	pdhSetCounterScaleFactor        uintptr
    40  	pdhSetDefaultRealTimeDataSource uintptr
    41  	pdhValidatePathEx               uintptr
    42  	pdhValidatePath                 uintptr
    43  )
    44  
    45  func init() {
    46  	// Library
    47  	libpdh = doLoadLibrary("pdh.dll")
    48  
    49  	// Functions
    50  	pdhAddCounter = doGetProcAddress(libpdh, "PdhAddCounterW")
    51  	pdhAddEnglishCounter = doGetProcAddress(libpdh, "PdhAddEnglishCounterW")
    52  	pdhBindInputDataSource = doGetProcAddress(libpdh, "PdhBindInputDataSourceW")
    53  	pdhCalculateCounterFromRawValue = doGetProcAddress(libpdh, "PdhCalculateCounterFromRawValue")
    54  	pdhCloseQuery = doGetProcAddress(libpdh, "PdhCloseQuery")
    55  	pdhCollectQueryData = doGetProcAddress(libpdh, "PdhCollectQueryData")
    56  	pdhCollectQueryDataEx = doGetProcAddress(libpdh, "PdhCollectQueryDataEx")
    57  	pdhCollectQueryDataWithTime = doGetProcAddress(libpdh, "PdhCollectQueryDataWithTime")
    58  	pdhEnumObjectItems = doGetProcAddress(libpdh, "PdhEnumObjectItemsW")
    59  	pdhExpandCounterPath = doGetProcAddress(libpdh, "PdhExpandCounterPathW")
    60  	pdhExpandWildCardPath = doGetProcAddress(libpdh, "PdhExpandWildCardPathW")
    61  	pdhGetCounterInfo = doGetProcAddress(libpdh, "PdhGetCounterInfoW")
    62  	pdhGetCounterTimeBase = doGetProcAddress(libpdh, "PdhGetCounterTimeBase")
    63  	pdhGetDllVersion = doGetProcAddress(libpdh, "PdhGetDllVersion")
    64  	pdhGetFormattedCounterValue = doGetProcAddress(libpdh, "PdhGetFormattedCounterValue")
    65  	pdhGetLogFileType = doGetProcAddress(libpdh, "PdhGetLogFileTypeW")
    66  	pdhGetRawCounterValue = doGetProcAddress(libpdh, "PdhGetRawCounterValue")
    67  	pdhLookupPerfIndexByName = doGetProcAddress(libpdh, "PdhLookupPerfIndexByNameW")
    68  	pdhLookupPerfNameByIndex = doGetProcAddress(libpdh, "PdhLookupPerfNameByIndexW")
    69  	pdhMakeCounterPath = doGetProcAddress(libpdh, "PdhMakeCounterPathW")
    70  	pdhOpenQuery = doGetProcAddress(libpdh, "PdhOpenQueryW")
    71  	pdhRemoveCounter = doGetProcAddress(libpdh, "PdhRemoveCounter")
    72  	pdhSetCounterScaleFactor = doGetProcAddress(libpdh, "PdhSetCounterScaleFactor")
    73  	pdhSetDefaultRealTimeDataSource = doGetProcAddress(libpdh, "PdhSetDefaultRealTimeDataSource")
    74  	pdhValidatePathEx = doGetProcAddress(libpdh, "PdhValidatePathExW")
    75  	pdhValidatePath = doGetProcAddress(libpdh, "PdhValidatePathW")
    76  }
    77  
    78  func PdhAddCounter(hquery PDH_HQUERY, path string, userdata *uint32, hcounter *PDH_HCOUNTER) PDH_STATUS {
    79  	pathStr := unicode16FromString(path)
    80  	ret1 := syscall6(pdhAddCounter, 4,
    81  		uintptr(hquery),
    82  		uintptr(unsafe.Pointer(&pathStr[0])),
    83  		uintptr(unsafe.Pointer(userdata)),
    84  		uintptr(unsafe.Pointer(hcounter)),
    85  		0,
    86  		0)
    87  	return PDH_STATUS(ret1)
    88  }
    89  
    90  func PdhAddEnglishCounter(query PDH_HQUERY, path string, userdata *uint32, counter *PDH_HCOUNTER) PDH_STATUS {
    91  	pathStr := unicode16FromString(path)
    92  	ret1 := syscall6(pdhAddEnglishCounter, 4,
    93  		uintptr(query),
    94  		uintptr(unsafe.Pointer(&pathStr[0])),
    95  		uintptr(unsafe.Pointer(userdata)),
    96  		uintptr(unsafe.Pointer(counter)),
    97  		0,
    98  		0)
    99  	return PDH_STATUS(ret1)
   100  }
   101  
   102  func PdhBindInputDataSource(source *PDH_HLOG, filenamelist /*const*/ *WCHAR) PDH_STATUS {
   103  	ret1 := syscall3(pdhBindInputDataSource, 2,
   104  		uintptr(unsafe.Pointer(source)),
   105  		uintptr(unsafe.Pointer(filenamelist)),
   106  		0)
   107  	return PDH_STATUS(ret1)
   108  }
   109  
   110  func PdhCalculateCounterFromRawValue(handle PDH_HCOUNTER, format DWORD, raw1 *PDH_RAW_COUNTER, raw2 *PDH_RAW_COUNTER, value *PDH_FMT_COUNTERVALUE) PDH_STATUS {
   111  	ret1 := syscall6(pdhCalculateCounterFromRawValue, 5,
   112  		uintptr(handle),
   113  		uintptr(format),
   114  		uintptr(unsafe.Pointer(raw1)),
   115  		uintptr(unsafe.Pointer(raw2)),
   116  		uintptr(unsafe.Pointer(value)),
   117  		0)
   118  	return PDH_STATUS(ret1)
   119  }
   120  
   121  func PdhCloseQuery(handle PDH_HQUERY) PDH_STATUS {
   122  	ret1 := syscall3(pdhCloseQuery, 1,
   123  		uintptr(handle),
   124  		0,
   125  		0)
   126  	return PDH_STATUS(ret1)
   127  }
   128  
   129  func PdhCollectQueryData(handle PDH_HQUERY) PDH_STATUS {
   130  	ret1 := syscall3(pdhCollectQueryData, 1,
   131  		uintptr(handle),
   132  		0,
   133  		0)
   134  	return PDH_STATUS(ret1)
   135  }
   136  
   137  func PdhCollectQueryDataEx(handle PDH_HQUERY, interval DWORD, event HANDLE) PDH_STATUS {
   138  	ret1 := syscall3(pdhCollectQueryDataEx, 3,
   139  		uintptr(handle),
   140  		uintptr(interval),
   141  		uintptr(event))
   142  	return PDH_STATUS(ret1)
   143  }
   144  
   145  func PdhCollectQueryDataWithTime(handle PDH_HQUERY, timestamp *LONGLONG) PDH_STATUS {
   146  	ret1 := syscall3(pdhCollectQueryDataWithTime, 2,
   147  		uintptr(handle),
   148  		uintptr(unsafe.Pointer(timestamp)),
   149  		0)
   150  	return PDH_STATUS(ret1)
   151  }
   152  
   153  func PdhEnumObjectItems(szDataSource string, szMachineName string, szObjectName string, mszCounterList LPWSTR, pcchCounterListLength *uint32, mszInstanceList LPWSTR, pcchInstanceListLength *uint32, dwDetailLevel DWORD, dwFlags DWORD) PDH_STATUS {
   154  	szDataSourceStr := unicode16FromString(szDataSource)
   155  	szMachineNameStr := unicode16FromString(szMachineName)
   156  	szObjectNameStr := unicode16FromString(szObjectName)
   157  	ret1 := syscall9(pdhEnumObjectItems, 9,
   158  		uintptr(unsafe.Pointer(&szDataSourceStr[0])),
   159  		uintptr(unsafe.Pointer(&szMachineNameStr[0])),
   160  		uintptr(unsafe.Pointer(&szObjectNameStr[0])),
   161  		uintptr(unsafe.Pointer(mszCounterList)),
   162  		uintptr(unsafe.Pointer(pcchCounterListLength)),
   163  		uintptr(unsafe.Pointer(mszInstanceList)),
   164  		uintptr(unsafe.Pointer(pcchInstanceListLength)),
   165  		uintptr(dwDetailLevel),
   166  		uintptr(dwFlags))
   167  	return PDH_STATUS(ret1)
   168  }
   169  
   170  func PdhExpandCounterPath(szWildCardPath string, mszExpandedPathList LPWSTR, pcchPathListLength *uint32) PDH_STATUS {
   171  	szWildCardPathStr := unicode16FromString(szWildCardPath)
   172  	ret1 := syscall3(pdhExpandCounterPath, 3,
   173  		uintptr(unsafe.Pointer(&szWildCardPathStr[0])),
   174  		uintptr(unsafe.Pointer(mszExpandedPathList)),
   175  		uintptr(unsafe.Pointer(pcchPathListLength)))
   176  	return PDH_STATUS(ret1)
   177  }
   178  
   179  func PdhExpandWildCardPath(szDataSource string, szWildCardPath string, mszExpandedPathList LPWSTR, pcchPathListLength *uint32, dwFlags DWORD) PDH_STATUS {
   180  	szDataSourceStr := unicode16FromString(szDataSource)
   181  	szWildCardPathStr := unicode16FromString(szWildCardPath)
   182  	ret1 := syscall6(pdhExpandWildCardPath, 5,
   183  		uintptr(unsafe.Pointer(&szDataSourceStr[0])),
   184  		uintptr(unsafe.Pointer(&szWildCardPathStr[0])),
   185  		uintptr(unsafe.Pointer(mszExpandedPathList)),
   186  		uintptr(unsafe.Pointer(pcchPathListLength)),
   187  		uintptr(dwFlags),
   188  		0)
   189  	return PDH_STATUS(ret1)
   190  }
   191  
   192  func PdhGetCounterInfo(handle PDH_HCOUNTER, text BOOLEAN, size *uint32, info *PDH_COUNTER_INFO) PDH_STATUS {
   193  	ret1 := syscall6(pdhGetCounterInfo, 4,
   194  		uintptr(handle),
   195  		uintptr(text),
   196  		uintptr(unsafe.Pointer(size)),
   197  		uintptr(unsafe.Pointer(info)),
   198  		0,
   199  		0)
   200  	return PDH_STATUS(ret1)
   201  }
   202  
   203  func PdhGetCounterTimeBase(handle PDH_HCOUNTER, base *LONGLONG) PDH_STATUS {
   204  	ret1 := syscall3(pdhGetCounterTimeBase, 2,
   205  		uintptr(handle),
   206  		uintptr(unsafe.Pointer(base)),
   207  		0)
   208  	return PDH_STATUS(ret1)
   209  }
   210  
   211  func PdhGetDllVersion(version *uint32) PDH_STATUS {
   212  	ret1 := syscall3(pdhGetDllVersion, 1,
   213  		uintptr(unsafe.Pointer(version)),
   214  		0,
   215  		0)
   216  	return PDH_STATUS(ret1)
   217  }
   218  
   219  func PdhGetFormattedCounterValue(handle PDH_HCOUNTER, format DWORD, aType *uint32, value *PDH_FMT_COUNTERVALUE) PDH_STATUS {
   220  	ret1 := syscall6(pdhGetFormattedCounterValue, 4,
   221  		uintptr(handle),
   222  		uintptr(format),
   223  		uintptr(unsafe.Pointer(aType)),
   224  		uintptr(unsafe.Pointer(value)),
   225  		0,
   226  		0)
   227  	return PDH_STATUS(ret1)
   228  }
   229  
   230  func PdhGetLogFileType(log /*const*/ *WCHAR, aType *uint32) PDH_STATUS {
   231  	ret1 := syscall3(pdhGetLogFileType, 2,
   232  		uintptr(unsafe.Pointer(log)),
   233  		uintptr(unsafe.Pointer(aType)),
   234  		0)
   235  	return PDH_STATUS(ret1)
   236  }
   237  
   238  func PdhGetRawCounterValue(handle PDH_HCOUNTER, aType *uint32, value *PDH_RAW_COUNTER) PDH_STATUS {
   239  	ret1 := syscall3(pdhGetRawCounterValue, 3,
   240  		uintptr(handle),
   241  		uintptr(unsafe.Pointer(aType)),
   242  		uintptr(unsafe.Pointer(value)))
   243  	return PDH_STATUS(ret1)
   244  }
   245  
   246  func PdhLookupPerfIndexByName(machine string, name string, index *uint32) PDH_STATUS {
   247  	machineStr := unicode16FromString(machine)
   248  	nameStr := unicode16FromString(name)
   249  	ret1 := syscall3(pdhLookupPerfIndexByName, 3,
   250  		uintptr(unsafe.Pointer(&machineStr[0])),
   251  		uintptr(unsafe.Pointer(&nameStr[0])),
   252  		uintptr(unsafe.Pointer(index)))
   253  	return PDH_STATUS(ret1)
   254  }
   255  
   256  func PdhLookupPerfNameByIndex(machine string, index DWORD, buffer LPWSTR, size *uint32) PDH_STATUS {
   257  	machineStr := unicode16FromString(machine)
   258  	ret1 := syscall6(pdhLookupPerfNameByIndex, 4,
   259  		uintptr(unsafe.Pointer(&machineStr[0])),
   260  		uintptr(index),
   261  		uintptr(unsafe.Pointer(buffer)),
   262  		uintptr(unsafe.Pointer(size)),
   263  		0,
   264  		0)
   265  	return PDH_STATUS(ret1)
   266  }
   267  
   268  func PdhMakeCounterPath(e *PDH_COUNTER_PATH_ELEMENTS, buffer LPWSTR, buflen *uint32, flags DWORD) PDH_STATUS {
   269  	ret1 := syscall6(pdhMakeCounterPath, 4,
   270  		uintptr(unsafe.Pointer(e)),
   271  		uintptr(unsafe.Pointer(buffer)),
   272  		uintptr(unsafe.Pointer(buflen)),
   273  		uintptr(flags),
   274  		0,
   275  		0)
   276  	return PDH_STATUS(ret1)
   277  }
   278  
   279  func PdhOpenQuery(source string, userdata *uint32, handle *PDH_HQUERY) PDH_STATUS {
   280  	sourceStr := unicode16FromString(source)
   281  	ret1 := syscall3(pdhOpenQuery, 3,
   282  		uintptr(unsafe.Pointer(&sourceStr[0])),
   283  		uintptr(unsafe.Pointer(userdata)),
   284  		uintptr(unsafe.Pointer(handle)))
   285  	return PDH_STATUS(ret1)
   286  }
   287  
   288  func PdhRemoveCounter(handle PDH_HCOUNTER) PDH_STATUS {
   289  	ret1 := syscall3(pdhRemoveCounter, 1,
   290  		uintptr(handle),
   291  		0,
   292  		0)
   293  	return PDH_STATUS(ret1)
   294  }
   295  
   296  func PdhSetCounterScaleFactor(handle PDH_HCOUNTER, factor LONG) PDH_STATUS {
   297  	ret1 := syscall3(pdhSetCounterScaleFactor, 2,
   298  		uintptr(handle),
   299  		uintptr(factor),
   300  		0)
   301  	return PDH_STATUS(ret1)
   302  }
   303  
   304  func PdhSetDefaultRealTimeDataSource(source DWORD) PDH_STATUS {
   305  	ret1 := syscall3(pdhSetDefaultRealTimeDataSource, 1,
   306  		uintptr(source),
   307  		0,
   308  		0)
   309  	return PDH_STATUS(ret1)
   310  }
   311  
   312  func PdhValidatePathEx(source PDH_HLOG, path string) PDH_STATUS {
   313  	pathStr := unicode16FromString(path)
   314  	ret1 := syscall3(pdhValidatePathEx, 2,
   315  		uintptr(source),
   316  		uintptr(unsafe.Pointer(&pathStr[0])),
   317  		0)
   318  	return PDH_STATUS(ret1)
   319  }
   320  
   321  func PdhValidatePath(path string) PDH_STATUS {
   322  	pathStr := unicode16FromString(path)
   323  	ret1 := syscall3(pdhValidatePath, 1,
   324  		uintptr(unsafe.Pointer(&pathStr[0])),
   325  		0,
   326  		0)
   327  	return PDH_STATUS(ret1)
   328  }