NKrdmsr (Windows Embedded CE 6.0)

1/5/2010

This function puts the CPU into ring 0 if it is already there. It is a C wrapper function for the x86 RDMSR instruction.

This function is specific to x86 only.

Syntax

BOOL NKrdmsr(
  DWORD dwAddr,
  DWORD* lpdwValHigh,
  DWORD* lpdwValLow
);

Parameters

  • dwAddr
    [in] Address of the MSR being read.
  • lpdwValHigh
    [in] Receives the upper 32 bits of value being read.

    This parameter can be NULL.

  • lpdwValLow
    [in] Receives the lower 32 bits of value being read.

    This parameter can be NULL.

Return Value

Returns TRUE if the function succeeded, and FALSE if it failed.

Remarks

An MSR is a model-specific register.

All MSR-related information is specific to x86 only. MSRs are not supported on all x86 CPUs.

Note

NKrdmsr does not check if the CPU supports MSRs and it does not check if the CPU supports the particular MSR address being read. The caller is responsible for checking if MSRs are supported using the x86 CPUID instruction to query CPU features. For information about MSR addresses, see the documentation for your particular CPU.

Requirements

Header msr.h
Library coredll.lib
Windows Embedded CE Windows CE 5.0 and later

See Also

Reference

Other OAL Functions
NKwrmsr