阅读:980回复:1
NTDDK isousb sample contest
NTDDK isousb sample contest
在 NTDDK sample isousb 有例程: NTSTATUS IsoUsb_SelfSuspendOrActivate( IN PDEVICE_OBJECT DeviceObject, IN BOOLEAN fSuspend ) { NTSTATUS ntStatus = STATUS_SUCCESS; POWER_STATE PowerState; // 这里定义 POWER_STATE, 这个类型,我死活在NTDDK help中找不到 PDEVICE_EXTENSION deviceExtension; deviceExtension = (PDEVICE_EXTENSION) DeviceObject->DeviceExtension; ISOUSB_KdPrint( DBGLVL_MAXIMUM,(\"Enter IsoUsb_SelfSuspendOrActivate(),fSuspend = %d\\n\", fSuspend)); // 这里省略程式中的一些代码 // 接下来请看 #if 1 if ( fSuspend ) PowerState.DeviceState = deviceExtension->PowerDownLevel; // 这里出错,错误提示请看下面 else PowerState.DeviceState = PowerDeviceD0; // power up all the way; we\'re probably just about to do some IO ntStatus = IsoUsb_SelfRequestPowerIrp( DeviceObject, PowerState ); ISOUSB_KdPrint( DBGLVL_MAXIMUM,(\"IsoUsb_SelfSuspendOrActivate() status 0x%x on setting dev state %s\\n\", ntStatus, ISOUSB_StringForDevState(PowerState.DeviceState ) )); #endif return ntStatus; } 错误提示: isopwr.cpp(592) : error C2440: \'=\' : cannot convert from \'unsigned long\' to \'enum _DEVICE_POWER_STATE\' 觉得奇怪, 当不改动那个 sample 时 build pass, 可当我只是把它 copy 到一个自建的 project 时, build no pass, have that error. Why? |
|
沙发#
发布于:2002-11-26 20:19
这里也没人抢分?
|
|