************************************************************************
***                                                                  ***
***        MSRTouch.SYS ėpMSRݒNTpfoCXhCo[ Ver???     ***
***                        舵                            ***
***      Copyright (c) Dec 1998 by marm All right reserved           ***
***                                                      04/30/99    ***
************************************************************************

OD͂߂
    ̃foCXhCo[ MSRTouch.SYS ́AWindows NT4.0p̔ėp
    MSRݒfoCXhCo[łB

PDWin32 API DeviceIoControl gCPU MSR Windows NT4.0ォ
    ǂݏł܂B

QD̂ǂ炢΁[̃CXg[@

Q-1DMSRTouch.SYS ZbgAbvECU[h SETUPNT.EXE sA w
]ĉB


SETUPNT.EXE ́Aȉ̓eECU[h`ŁAݒ肵čs܂B

 PDMSRTouch.SYS  NT foCXhCo[̃z_[
    (:C:\winnt\system32\drivers)ɃRs[B
 QDMSRTouch.SYS WXgɃfoCXƂēo^B
 RĎVXeu[gB

iSETUPNT.EXÉAMSRTouch.SYS  o^폜邱Ƃł܂Bj

RDs
   MSRTouch ɑΉvO(WAMonitor Ver0.55ȍ~)sĉB
   WAMonitor̎gp@́ÃvO̎gp@ɏ]ĉB

SDgp

      ESȖۏ؃vOłBgpʂǂȂ낤Ɛ
        ͈ؐӔC𕉂܂BׂĂ̐ӔCiӔCȂǂ܂ށA
        ؂̐ӔCj͎gp҂̂Ƃ܂B

TDZp
  ̃hCo[MSRTouch.SYS ́ANT4.0ŁAMSR̐ݒǂݏ
  ėp̃hCo[łB
  Win32 API DeviceIoControl gCPU MSR Win NT4.0ォǂݏ
  ܂B
  ȉ IOCTL R}h̒`(wb_[t@C)ƈ̍\̂L
  ܂B͎̂gĂ݂ĉB

/* MSRTouch.h
 * MSR Access Driver for NT
 */

//
// foCX^Cv̒l  ŗLl
//
#define FILE_DEVICE_MSRTOUCH  0x00008500

//
// Rg[R[hIndex
//
#define MSRTOUCH_IOCTL_INDEX  0x800
//


#define IOCTL_MSRTOUCH_READ  CTL_CODE(FILE_DEVICE_MSRTOUCH,   \
                                      MSRTOUCH_IOCTL_INDEX,   \
                                      METHOD_BUFFERED,        \
                                      FILE_ANY_ACCESS )

// #define IOCTL_MSRTOUCH_READ   0x85002000

#define IOCTL_MSRTOUCH_WRITE CTL_CODE(FILE_DEVICE_MSRTOUCH,   \
                                      MSRTOUCH_IOCTL_INDEX+1, \
                                      METHOD_BUFFERED,        \
                                      FILE_ANY_ACCESS )

// #define IOCTL_MSRTOUCH_WRITE  0x85002004


/* End of File */


// MSR̃f[^\
// [U[hƁAJ[l[h̊ԂŃf[^̂
//lpInBuff,lpOutBuff ̈̍\͈ȉ̂悤ɂȂĂ܂B

typedef struct
{
    ULONG    MSR_Index,
             MSR_Low,
             MSR_High;
} MSR_INFO, *PMSR_INFO;



