def get_cpuid_leaf_by_ordinal(self, ordinal):
        """Used to enumerate CPUID information override values.

        in ordinal of type int
            The ordinal number of the leaf to get.

        out idx of type int
            CPUID leaf index.

        out idx_sub of type int
            CPUID leaf sub-index.

        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 ordinal number is out of range.
        
        """
        if not isinstance(ordinal, baseinteger):
            raise TypeError("ordinal can only be an instance of type baseinteger")
        (idx, idx_sub, val_eax, val_ebx, val_ecx, val_edx) = self._call("getCPUIDLeafByOrdinal",
                     in_p=[ordinal])
        return (idx, idx_sub, val_eax, val_ebx, val_ecx, val_edx)