sinhaul
驱动牛犊
驱动牛犊
  • 注册日期2002-03-26
  • 最后登录2002-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2275回复:12

VC++编译和DDK的BUILD有哪些差别?

楼主#
更多 发布于:2002-08-19 17:10
我的打印机驱动用户界面程序在VC++编写和编译都没有问题,但用DDK的BUILD -cZ编译时却显示DrvDevicePropertySheets和DrvDocumentPropertySheets函数里的PROPSHEETPAGE是没有定义的标识符,不知是怎么回事。请过来人指点一下

/* DrvDevicePropertySheets */
#include <windows.h>
#include <winddiui.h>
#include \"ui.h\"

LRESULT WINAPI MainWndProc( HWND, UINT, WPARAM, LPARAM);

extern PLOTDEVMODE PlotDM;
extern PDEV pDEV;

LONG DrvDevicePropertySheets(PPROPSHEETUI_INFO pPSUIInfo, LPARAM lParam)
{
PROPSHEETPAGEA propSheetPage;
switch(pPSUIInfo->Reason) {
case PROPSHEETUI_REASON_INIT:
/* ((PDEVICEPROPERTYHEADER)lParam)->cbSize = sizeof(DEVICEPROPERTYHEADER);
((PDEVICEPROPERTYHEADER)lParam)->Flags = 0;
((PDEVICEPROPERTYHEADER)lParam)->hPrinter = pPSUIInfo-> */
switch (((PDOCUMENTPROPERTYHEADER)lParam)->fMode) {
case 0:
((PDOCUMENTPROPERTYHEADER)lParam)->pdmOut = (PDEVMODE)&PlotDM;
((PDOCUMENTPROPERTYHEADER)lParam)->cbOut = sizeof(PLOTDEVMODE);
break;
case DM_ADVANCED:
break;
}
pPSUIInfo->pfnComPropSheet(pPSUIInfo->hComPropSheet, CPSFUNC_ADD_PROPSHEETPAGE, (LPARAM)&propSheetPage, lParam);
break;
default:
break;
}
return 0;
}
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-08-19 17:40
你编译的文件是exe还是sys
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
freducn2002
驱动小牛
驱动小牛
  • 注册日期2002-06-26
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分11分
  • 威望29点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2002-08-20 11:38
sinhaul兄,你搞打印驱动吗,能不能提供打印驱动方面的源码,我急用,谢谢.freducn@yahoo.com.cn
sinhaul
驱动牛犊
驱动牛犊
  • 注册日期2002-03-26
  • 最后登录2002-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-21 07:53
我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。

这是我编的头一个打印驱动程序,还没找到北。等我搞成了一定共享成果。
roberson@etang.com
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-21 09:21
我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。

这是我编的头一个打印驱动程序,还没找到北。等我搞成了一定共享成果。
roberson@etang.com


应用层dll,怎么能用build编译。
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
SharpShooter
驱动小牛
驱动小牛
  • 注册日期2002-04-07
  • 最后登录2013-07-05
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望40点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-21 09:24
[quote]我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。

这是我编的头一个打印驱动程序,还没找到北。等我搞成了一定共享成果。
roberson@etang.com


应用层dll,怎么能用build编译。 [/quote]

应用层dll,当然能用build编译!
写驱动不如买足彩!!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-21 09:31
不明白
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
sinhaul
驱动牛犊
驱动牛犊
  • 注册日期2002-03-26
  • 最后登录2002-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-08-21 09:53
[quote]我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。

这是我编的头一个打印驱动程序,还没找到北。等我搞成了一定共享成果。
roberson@etang.com


应用层dll,怎么能用build编译。 [/quote]

“应用层dll”是指的USER_MODE吗?但我的问题应该和USER_MODE或KERNEL_MODE没关系呀?
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-08-21 09:56
应用程序和DLL也可以用BUILD来编译的
simba
驱动牛犊
驱动牛犊
  • 注册日期2002-01-28
  • 最后登录2009-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-08-21 15:08
和VC里面项目的环境变量怎么设置的有关吧
sinhaul
驱动牛犊
驱动牛犊
  • 注册日期2002-03-26
  • 最后登录2002-10-28
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-08-21 16:34
和VC里面项目的环境变量怎么设置的有关吧

是的,VC里很多环境变量是隐含的,但在DDK里要列出来,而且在sources文件里的路径要用8.3格式,不能用长文件名格式,至少不能有空格。
我现在已经编译通过了。在VC里可以找到的头文件在DDK里要在程序里列出来,所有要用到的库文件也要在sources文件里列出来。
zxy2845986
驱动牛犊
驱动牛犊
  • 注册日期2002-08-21
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-08-22 18:41
在编译之前执行以下VC目录下的设置环境变量的批处理文件。
scwyh
驱动牛犊
驱动牛犊
  • 注册日期2003-10-05
  • 最后登录2008-03-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2003-10-06 00:31
----------------------------------
我编译的文件是DLL,用VC++编译没问题。但用BUILD编译就显示PROPSHEETPAGE结构未定义,它明明在一个头文件里。
------------------------------------

这种问题一般出在编译时 inc和lib目录设置不正确;一般说来在肌成环境下的lib和inc目录已经正确设置;而在build或cl编译时往往要自己设置;例如用ddk下的build时在namke里加上标准include的目录和lib的目录
游客

返回顶部