func PdhEnumObjectItems()

in helpers/windows/pdh/pdh_windows.go [339:378]


func PdhEnumObjectItems(objectName string) ([]uint16, []uint16, error) {
	var (
		cBuff     = make([]uint16, 1)
		cBuffSize = uint32(0)
		iBuff     = make([]uint16, 1)
		iBuffSize = uint32(0)
	)
	obj := windows.StringToUTF16Ptr(objectName)
	if err := _PdhEnumObjectItems(
		0,
		0,
		obj,
		&cBuff[0],
		&cBuffSize,
		&iBuff[0],
		&iBuffSize,
		PerformanceDetailWizard,
		0); err != nil {
		if PdhErrno(err.(syscall.Errno)) != PDH_MORE_DATA {
			return nil, nil, PdhErrno(err.(syscall.Errno))
		}
		cBuff = make([]uint16, cBuffSize)
		iBuff = make([]uint16, iBuffSize)

		if err = _PdhEnumObjectItems(
			0,
			0,
			obj,
			&cBuff[0],
			&cBuffSize,
			&iBuff[0],
			&iBuffSize,
			PerformanceDetailWizard,
			0); err != nil {
			return nil, nil, err
		}
		return cBuff, iBuff, nil
	}
	return nil, nil, nil
}