haovcddk
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2004-08-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1631回复:5

SelectMIO(BOOL MIO)的作用?

楼主#
更多 发布于:2003-07-07 15:59
exe中:BOOL SelectMIO(BOOL MIO)
{
if (hPDC1000 == NULL)
{
return FALSE;
}

ULONG BytesReturned,retlength;
unsigned char Buffer,OutBuf;

if (MIO)
Buffer = 0x00; //选择的是Memory.
else
Buffer = 0x01; //选择的是IO.

if (!DeviceIoControl(hPDC1000, IOCTL_PDC1000_SELECT_8155MIO, &Buffer, 1,
NULL, 0, &BytesReturned, NULL))


sys中:


case IOCTL_PDC1000_SELECT_8155MIO:
//通过PCI9052的User0,进行选择
unsigned char Selected;
ULONG Address;
ULONG TempData;
Address = (ULONG)((PDEVICE_EXTENSION)pdx)->MemBase;
RtlCopyMemory(&Selected, pIrp->AssociatedIrp.SystemBuffer, 1);

TempData = READ_REGISTER_ULONG((ULONG *)(Address + 0x50));
if (Selected == 0x00)
{
TempData &= 0xfffffffa;
}
else if(Selected == 0x01)
{
TempData |= 0x00000006;
}

WRITE_REGISTER_ULONG((ULONG *)(Address + 0x50), TempData);

ReturnedValue = 0;
break;


SelectMIO(BOOL MIO)的作用是什么呀?看了半天没看懂.
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-07-07 16:04
用户被禁言,该主题自动屏蔽!
haovcddk
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2004-08-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-07-07 16:04
忘了说一句:是PDC1000的驱动
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-07-07 16:04
用户被禁言,该主题自动屏蔽!
haovcddk
驱动牛犊
驱动牛犊
  • 注册日期2003-06-06
  • 最后登录2004-08-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-07-07 16:07
sorry,硬件不太懂,我只做驱动,大概给我说一下功能就可以了.
3x.
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-07-07 16:33
用户被禁言,该主题自动屏蔽!
游客

返回顶部