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 }