怎样得到windows显卡驱动的hwDeviceExtension结构

bigbigsmallsmall 2005-06-13 04:15:34
我想用window XP DDK perm3中得例子
来控制LCD,其实我只需要利用I2C.c文件就可以了
但是参数中有一个hwDeviceExtension结构
里面定义了很多与显卡设备相关得内容
我是否可以直接在操作系统得到hwDeviceExtension结构呢
然后直接调用I2C得函数, 谢谢!

如果有大侠知道其他的显卡和LCD通过I2C通信的方法也请告知一下,谢了!!!
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
naokizxx 2005-06-15
  • 打赏
  • 举报
回复
顶一下
bigbigsmallsmall 2005-06-15
  • 打赏
  • 举报
回复
看来该问题无解了
难道想用软件控制LCD显示器就那么难啊
raidenzxx 2005-06-14
  • 打赏
  • 举报
回复
应该可以吧.....
显卡的不知道,小弟做的USB,太麻烦..........
NtDeviceIoControlFile
只能用这个,98估计不行,,没试
qrlvls 2005-06-14
  • 打赏
  • 举报
回复
NTSTATUS _MJSystemControl(IN PDEVICE_OBJECT pDevObj, IN PIRP pIrp)
{
NTSTATUS status;
PCOMMON_EXTENSION pDevExt = pDevObj->DeviceExtension;

status = STATUS_NO_SUCH_DEVICE;

switch (pDevExt->doType) {
case DOTYPE_FB:
case DOTYPE_FP:
TraceIrp("_MJSystemControl", pIrp, NULL, TRACE_FLAG_PARAMS);
IoSkipCurrentIrpStackLocation(pIrp);
status = IoCallDriver(((PCOMMON_FDO_EXTENSION)pDevExt)->pLowDevObj, pIrp);
break;
case DOTYPE_PP:
status = STATUS_NOT_SUPPORTED;
default:
TraceIrp("_MJSystemControl", pIrp, &status, TRACE_FLAG_PARAMS);
pIrp->IoStatus.Status = status;
IoCompleteRequest(pIrp, IO_NO_INCREMENT);
}

return status;
}
只有先将过滤驱动 Attach 到相应的驱动栈位置后才能处理,通过PDEVICE_OBJECT可以取得DeviceExtension,不过这个DeviceExtension只有前一部分才是标准的
可以参考DDK的显卡驱动示例
会思考的草 2005-06-13
  • 打赏
  • 举报
回复
驱动一般是分层的,似乎你必须先挂接到对应的DriverObject才可以得到其设备扩展结构吧。显示驱动没做过,帮顶。

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧