code: def get_cpuid_leaf(self, idx, idx_sub):
          
          if not isinstance(idx, baseinteger):
              raise TypeError("idx can only be an instance of type baseinteger")
          if not isinstance(idx_sub, baseinteger):
              raise TypeError("idx_sub can only be an instance of type baseinteger")
          (val_eax, val_ebx, val_ecx, val_edx) = self._call("getCPUIDLeaf",
                       in_p=[idx, idx_sub])
          return (val_eax, val_ebx, val_ecx, val_edx)
docs: Returns the virtual CPU cpuid information for the specified leaf.
          
          Currently supported index values for cpuid:
          Standard CPUID leaves: 0 - 0x1f
          Extended CPUID leaves: 0x80000000 - 0x8000001f
          VIA CPUID leaves:      0xc0000000 - 0xc000000f
          
          See the Intel, AMD and VIA programmer's manuals for detailed information
          about the CPUID instruction and its leaves.
  
          in idx of type int
              CPUID leaf index.
  
          in idx_sub of type int
              CPUID leaf sub-index (ECX).  Set to 0xffffffff (or 0) if not applicable.
  
          out val_eax of type int
              CPUID leaf value for register eax.
  
          out val_ebx of type int
              CPUID leaf value for register ebx.
  
          out val_ecx of type int
              CPUID leaf value for register ecx.
  
          out val_edx of type int
              CPUID leaf value for register edx.
  
          raises :class:`OleErrorInvalidarg`
              Invalid index.