2015-10-28 96 views
0

我在驅動程序中遇到了一些問題&在我需要構建它之前,必須對它進行故障排除。我沒有駕駛員經驗。 我有源代碼& bat文件。它可能是使用WDK 7(我不確定) 任何人都可以引導我建立驅動程序項目與下面的bat文件。 Ofcourse我可以理解bat文件被設置環境變量&調用build.exe構建驅動程序

我的主要問題是:
1.哪些WDK我需要安裝,這樣我就可以指定其在bat文件
2路。如何運行bat文件,我是否需要在Visual Studio命令提示符下運行或如何運行?

如果你給一些一般的想法建立一個初學者的驅動程序,將不勝感激。謝謝。

[如果你需要的任何信息,這我可以提供,請隨時提問]

蝙蝠呸:

rem @echo off 
rem --------------------------------------------------------------------     
rem SafeBoot Windows NT 32 bit driver build script 
rem -------------------------------------------------------------------- 
set MC_ENV=fre 

if "%1%"=="debug" goto dbg 
if "%2%"=="debug" goto dbg 
if "%3%"=="debug" goto dbg 
goto nodbg 

:dbg 
echo **** DEBUG BUILD **** 
set MC_ENV=chk 

:nodbg 
rem -------------------------------------------------------------------- 
rem We want the absolute path of this directory, so we use a little utility 
rem that creates a batch file that sets this into a environment variable. 
rem -------------------------------------------------------------------- 
..\Translations\Bin\setcd -d DRV_DIR > thisdir.bat 
call thisdir 
del thisdir.bat 

if NOT "%DDK64%"=="" goto x1 
set DDK64=D:\Tools\WinDDK\6000 
rem set DDK64=C:\WinDDK\6001.18001 
:x1 

set MSTOOLS=%MSSdk% 
set BASEDIR= 
set DDKBUILDENV= 
set NTDBGFILES= 
set DDK_INC_PATH= 
set DDK_LIB_DEST= 
set DDK_LIB_PATH= 
set CRT_INC_PATH= 
set CRT_LIB_PATH= 
set BUILD_ALT_DIR= 

call %DDK64%\bin\setenv %DDK64% %MC_ENV% i386 

echo %DRV_DIR% 

cd %DRV_DIR% 

if NOT "%1"=="/a" goto build 
del /q objfre_wlh_x86\i386\*.* 
del /q objchk_wlh_x86\i386\*.* 
rmdir /Q /S driver32 
md driver32 

:build 
rem set MSC_OPTIMIZATION=/Od 
echo Building started... 
%DDK64%\bin\x86\build.exe -f -z -E 
echo Building completed... 
if ERRORLEVEL 1 goto error 

rem copy objfre_wlh_x86\i386\McPvDrv.sys driver32\McPvDrv.sys 

if "%MC_ENV%"=="chk" (
md ..\..\..\build\Win32\Debug 
copy objchk_wlh_x86\i386\McPvDrv.sys ..\..\..\build\Win32\Debug\McPvDrv.sys 
echo chk 
+0

你想要可單個驅動器要建這樣的,它應該在運行W7,W8和w10? – Stubborn

回答

0

從你的.bat文件,它具有:

if NOT "%DDK64%"=="" goto x1 
set DDK64=D:\Tools\WinDDK\6000 
rem set DDK64=C:\WinDDK\6001.18001 
:x1 

因此,它可能正在尋找該版本。如果是這樣,這裏是一個頁面:What is the Microsoft name for WinDDK version 6001.18001?

而且,看到https://en.wikipedia.org/wiki/Windows_Driver_Kit你的蝙蝠希望,在默認情況下,建立6000(公佈:2006年11月29日爲Windows Vista)

您也可以嘗試使用最新一。這是WDK 10的鏈接,下載說明。 WDK 7應該類似:https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573%28v=vs.85%29.aspx所以找到正確的頁面。此頁面還有其他頁面的鏈接,可能有助於回答您的其他問題。

在任何情況下,你需要修改.BAT通過設置DDK64變量指向它指向正確的WINDDK目錄。

你或許可以安裝多個不同的版本,不同的目錄,但我的猜測是,最新會讓你建立向後兼容的版本。因此,如果您正在爲Win7構建(例如),請獲取最新的Win7 DDK(請參閱Wiki頁面中的表格)。

+0

感謝那,我想使用DDK8,我應該期望在路徑中的DDK8版本中對應於「D:\ Tools \ WinDDK \ 6000」的文件。 – Raj

2

如果你想建立一個驅動程序爲Windows 7或更高版本使用Visual Studio 2015年它與最新的WDK 10樓的驅動集成的方式更容易這樣。

如果你想建立的Windows XP驅動程序,那麼你將不得不使用WDK 7並使用類似像你這樣的腳本。 Wdk 7沒有與視覺工作室整合。您必須在名爲sources的特定文件中指定源文件。請參閱Wdk 7的示例驅動程序。您可以找到用於構建此類驅動程序的良好cmd https://www.osronline.com/article.cfm?article=43此網站具有最佳的驅動程序開發提示

如果您不需要XP支持,我強烈建議您使用Visual Studio 2015年,Windows SDK和Windows 10 wdk。

LE: 您還可以使用Visual Studio 2013,它支持集成與WDK 8和WDK 8.1,但不與WDK 10

+0

@Rado,謝謝你,截至目前,我得到了Visual Stduio 2013.我的驅動程序是針對Windows 7,8&10的。那麼你對我的驅動程序版本有什麼建議,哪個DDK更好用。 – Raj

+1

Visual Studio 2013可以與WDK 8或8.1集成,但不能與Wdk 10集成。這樣您就可以獲得與Visual Studio 2015相同的優勢。微軟使開發人員更容易開始使用WDK 8 –

+0

現在我正在使用帶有DDK的VS2013 8.1,從ntdef.h得到一些構建錯誤「無目標架構」 我想這與windows sdk有關。 關於此錯誤的任何建議msg, – Raj

相關問題