junzilan
驱动牛犊
驱动牛犊
  • 注册日期2004-02-14
  • 最后登录2006-04-06
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1007回复:0

文章标题 各位帮忙!驱动开发driverworks的一些基本问题

楼主#
更多 发布于:2004-03-10 09:53
我看了驱动开发的入门书,《NT驱动开发指南》那本,头很是晕。
现在想用driverworks,想问一些基本的问题。
1、下面这段代码在入口函数Driverentry中,
大概是从注册表加载什么的,但不甚了了,想央那位说明一下!
KRegistryKey Params(RegistryPath, L"Parameters");
if ( NT_SUCCESS(Params.LastError()) )
{
#if DBG
ULONG bBreakOnEntry = FALSE;
// Read "BreakOnEntry" value from registry
Params.QueryValue(L"BreakOnEntry", &bBreakOnEntry);
// If requested, break into debugger
if (bBreakOnEntry) DbgBreakPoint();
#endif
// Load driver data members from the registry
LoadRegistryParameters(Params);
}
2、我看他们的代码,定义这个函数,从注册表查询值之类,也不甚明白。
感觉知道一些,又不太清楚,多谢那位说明。
void MC_PCI::LoadRegistryParameters(KRegistryKey &Params)
{

m_MCPCI_ID = 0x1234;
Params.QueryValue(L"MCPCI_ID", &m_MCPCI_ID);
t << "m_MCPCI_ID loaded from registry, resulting value: [" << m_MCPCI_ID << "]n";
}
3、然后是adddevice(),其中有下面代码,应该是初始化,创建设备之类的,望指教!
KUnitizedName uName(L"MC_PCIDevice", m_Unit);
MC_PCIDevice * pDevice = new (
static_cast<PCWSTR>(uName),//device name
FILE_DEVICE_UNKNOWN,//type
static_cast<PCWSTR>(uName),//link name
0,
DO_DIRECT_IO
)
MC_PCIDevice(Pdo, m_Unit);
4、xxDevice_class_guid,这个是定义什么的,怎么定义的?
一些很简单的问题,不知道我说清楚没有,当然如果我很清楚,也不用问了,呵呵
入门问题,耽搁大家的时间了,多谢!
游客

返回顶部