阅读:972回复:3
关于AddDevice中的一个小问题
请问:
NTSTATUS MyUSBDevice::AddDevice( PDEVICE_OBJECT Pdo ) { // 产生一个DDK中KDevice类新的设备对象 MyUSBDevice *pDevice = new ( static cast<PCWSTR>( KUnitizedName(L“MyUSBDevice”,m_Unit) ),// 设备名 FILE_DEVICE_UNKNOWN, // 设备类型 NULL, // 指针链接名 0, // 设备特征标志位 DO_BUFFERED_IO| DO_POWER_PAGABLE); // I/O传输方式 MyUSBDevice(Pdo, m_Unit); …………………… } 上面的例程中,new应该是申请空间的一个函数,后面应该是一个数据类型,数据类型后面才是构造函数的参数。但这个例子中为什么没有数据类型,却直接是构造函数的参数呢? |
|
沙发#
发布于:2005-03-10 17:25
这里的new是由DriverWorks自己实现的,可以在它附带的的source code中找到
|
|
|
板凳#
发布于:2005-03-10 20:44
请问: 看看安装目录下的Kpnpdevice的类源码自然就明白了 |
|
|
地板#
发布于:2005-03-11 15:19
new在KDevice类中定义
|
|
|