code: func getKernelVersion() (string, error) {
  	// Get CurrentBuildNumber.
  	buildNumber, err := getCurrentVersionVal("CurrentBuildNumber")
  	if err != nil {
  		return "", err
  	}
  
  	// Get CurrentMajorVersionNumber.
  	majorVersionNumberString, err := getCurrentVersionVal("CurrentMajorVersionNumber")
  	if err != nil {
  		return "", err
  	}
  	majorVersionNumber, err := windows.UTF16FromString(majorVersionNumberString)
  	if err != nil {
  		return "", err
  	}
  
  	// Get CurrentMinorVersionNumber.
  	minorVersionNumberString, err := getCurrentVersionVal("CurrentMinorVersionNumber")
  	if err != nil {
  		return "", err
  	}
  	minorVersionNumber, err := windows.UTF16FromString(minorVersionNumberString)
  	if err != nil {
  		return "", err
  	}
  
  	// Get UBR.
  	revision, err := getVersionRevision()
  	if err != nil {
  		return "", err
  	}
  
  	return fmt.Sprintf("%d.%d.%s.%d", majorVersionNumber[0], minorVersionNumber[0], buildNumber, revision), nil
  }
docs: // getKernelVersion gets the version of windows kernel.