code: def test_changing_value(self):
      # Issue2810: A race condition in 2.6 and 3.1 may cause
      # EnumValue or QueryValue to raise "WindowsError: More data is
      # available"
      done = False
  
      class VeryActiveThread(threading.Thread):
          def run(self):
              with CreateKey(HKEY_CURRENT_USER, test_key_name) as key:
                  use_short = True
                  long_string = "x" * 2000
                  while not done:
                      s = "x" if use_short else long_string
                      use_short = not use_short
                      SetValue(key, "changing_value", REG_SZ, s)
  
      thread = VeryActiveThread()
      thread.start()
      try:
          with CreateKey(
              HKEY_CURRENT_USER, test_key_name + "\\changing_value"
          ) as key:
              for _ in range(1000):
                  num_subkeys, num_values, t = QueryInfoKey(key)
                  for i in range(num_values):
                      name = EnumValue(key, i)
                      QueryValue(key, name[0])
      finally:
          done = True
          thread.join()
          DeleteKey(
              HKEY_CURRENT_USER, test_key_name + "\\changing_value"
          )
          DeleteKey(HKEY_CURRENT_USER, test_key_name)
  
imports: import gc
  import os, sys, errno
  import threading
  import unittest
  from platform import machine, win32_edition
  from test.support import cpython_only, import_helper
  from winreg import *
label_desc: Use image node_id 8 for calling the LocalWinregTests obj's underlying member method code with example usage: obj.test_changing_value() without return types