能力值:
( LV2,RANK:10 )
|
-
-
2 楼
看了头文件
DECLARE_CONST_UNICODE_STRING(ntDeviceName, NT_DEVICE_NAME);
难道就支持window2000的驱动!
|
能力值:
( LV12,RANK:230 )
|
-
-
3 楼
你声明了他还报错你没声明??
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
声明了!
wdfcore.h
文件中
#if (OSVER(NTDDI_VERSION) == NTDDI_WIN2K)
//
// These definitions are necessary for building under a Win2K Environment.
//
#ifndef DECLARE_UNICODE_STRING_SIZE
#define DECLARE_UNICODE_STRING_SIZE(_var, _size) \
WCHAR _var ## _buffer[_size]; \
UNICODE_STRING _var = { 0, _size * sizeof(WCHAR) , _var ## _buffer }
#endif
我看看是不是ddk版本问题?
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
ntdef.h
#if _WIN32_WINNT >= 0x0500
#define UNICODE_STRING_MAX_BYTES ((USHORT) 65534) // winnt
#define UNICODE_STRING_MAX_CHARS (32767) // winnt
#define DECLARE_CONST_UNICODE_STRING(_var, _string) \
const WCHAR _var ## _buffer[] = _string; \
__pragma(warning(push)) \
__pragma(warning(disable:4221)) __pragma(warning(disable:4204)) \
const UNICODE_STRING _var = { sizeof(_string) - sizeof(WCHAR), sizeof(_string), (PWCH) _var ## _buffer } \
__pragma(warning(pop))
#define DECLARE_GLOBAL_CONST_UNICODE_STRING(_var, _str) \
extern const __declspec(selectany) UNICODE_STRING _var = RTL_CONSTANT_STRING(_str)
#define DECLARE_UNICODE_STRING_SIZE(_var, _size) \
WCHAR _var ## _buffer[_size]; \
__pragma(warning(push)) \
__pragma(warning(disable:4221)) __pragma(warning(disable:4204)) \
UNICODE_STRING _var = { 0, (_size) * sizeof(WCHAR) , _var ## _buffer } \
__pragma(warning(pop))
#endif // _WIN32_WINNT >= 0x0500
这
#define NTDDI_WIN7 0x06010000
不知怎么就跳了
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
我试着把这行改了
#if _WIN32_WINNT <= 0x0500
DECLARE_CONST_UNICODE_STRING(ntDeviceName, NT_DEVICE_NAME);
但出现
ramdisk.obj : error LNK2001: 无法解析的外部符号 _WdfFunctions
ramdisk.obj : error LNK2001: 无法解析的外部符号 _WdfDriverGlobals
ramdisk.obj : error LNK2019: 无法解析的外部符号 _SetForwardProgressOnQueue@4,该符号在函数 _RamDiskEvtDeviceAdd@8 中被引用
C:\Users\alonefort\documents\visual studio 2010\Projects\Ramdisk\alonefort\Ramdisk.sys : fatal error LNK1120: 3 个无法解析的外部命令
能用!
我请教一下用vs编译驱动,在哪里声明编写win7的驱动啊?
估计是这里不对!?谢谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
可能与 WIN32=400;_X86_=1;WINVER=0x500;DBG=1 有关系,但WINVER=0x501 改成xp的驱动也没用 不知怎么回事!?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
#define _WIN32_WINNT_NT4 0x0400
#define _WIN32_WINNT_WIN2K 0x0500
#define _WIN32_WINNT_WINXP 0x0501
#define _WIN32_WINNT_WS03 0x0502
#define _WIN32_WINNT_WIN6 0x0600
#define _WIN32_WINNT_VISTA 0x0600
#define _WIN32_WINNT_WS08 0x0600
#define _WIN32_WINNT_LONGHORN 0x0600
#define _WIN32_WINNT_WIN7 0x0601
这是ddk中的声明
WINVER=0x500 这一行我都设过!没用,请高手指教!
|
|
|