[driver] Rename driver__dispatch_not_supported_ to WvIrpNotSupported
[people/sha0/winvblock.git] / makeinf.bat
index fa628ac..53b7ce8 100644 (file)
+=============================@( GOto  :@:  CRAZY )=============================\r
+123456789A123456789A123456789A123456789A123456789A123456789A123456789A123456789\r
+ÉÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍ»\r
+º _ _ _ Each line of this file is optimally formatted for 79 columns. _ _ _ _ º\r
+º _ _ _ Best viewed from a command-line interface (a DOS box), with the _ _ _ º\r
+º _ _ _ _ 'type' command or in Windows Notepad with the Terminal font _ _ _ _ º\r
+ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ\r
+º Programmed by Shao Miller @ 2010-05-14_19:52. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ º\r
+ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\r
+\r
+\r
+\r
+-----MAIN-----\r
+===\r
+\r
+ Extract the .INF file for WinVBlock's bus driver\r
+\r
+===\r
+:_main\r
+\r
+%@% Extracting WinVBlk.INF...\r
+%@%\r
+mkdir bin %_%\r
+call :_extract WinVBlk > bin\WinVBlk.INF\r
+%Q%\r
+\r
+-----EOF-----\r
+\r
+\r
+\r
+-----WinVBlk-----\r
+[Version]\r
+Signature="$Windows NT$"\r
+Class=SCSIAdapter\r
+ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}\r
+Provider=WinVBlock\r
+CatalogFile=winvblk.cat\r
+DriverVer=05/16/2010,0.0.0.8\r
\r
+[Manufacturer]\r
+WinVBlock=WinVBlockDriver,,NTamd64\r
+  \r
+[WinVBlockDriver]\r
+"WinVBlock Driver"=WinVBlock,Root\WinVBlock, Detected\WinVBlock\r
\r
+[WinVBlockDriver.NTamd64]\r
+"WinVBlock Driver"=WinVBlock.NTamd64,Root\WinVBlock, Detected\WinVBlock\r
\r
+[SourceDisksNames]\r
+0="Install Disk"\r
\r
+[SourceDisksFiles]\r
+winvblk.exe=0\r
+wvblk32.sys=0\r
+wvblk64.sys=0\r
\r
+[DestinationDirs]\r
+Files.Driver=12\r
+Files.Driver.NTamd64=12\r
+Files.Tools=11\r
\r
+[Files.Driver]\r
+wvblk32.sys\r
\r
+[Files.Driver.NTamd64]\r
+wvblk64.sys\r
\r
+[Files.Tools]\r
+winvblk.exe\r
\r
+[WinVBlock]\r
+CopyFiles=Files.Driver,Files.Tools\r
\r
+[WinVBlock.NTamd64]\r
+CopyFiles=Files.Driver.NTamd64,Files.Tools\r
\r
+[WinVBlock.Services]\r
+AddService=WinVBlock,0x00000002,Service\r
\r
+[WinVBlock.NTamd64.Services]\r
+AddService=WinVBlock,0x00000002,Service.NTamd64\r
\r
+[Service]\r
+ServiceType=0x00000001\r
+StartType=0x00000000\r
+ErrorControl=0x00000001\r
+ServiceBinary=%12%\wvblk32.sys\r
\r
+[Service.NTamd64]\r
+ServiceType=0x00000001\r
+StartType=0x00000000\r
+ErrorControl=0x00000001\r
+ServiceBinary=%12%\wvblk64.sys\r
+-----EOF-----\r
+\r
+\r
+\r
+-----TESTING-----\r
+This is a wacky batch file.  There is stuff all over the place.\r
+More comments.\r
+\r
+\r
+:_test\r
+\r
+%@% This is the main part of the batch file\r
+%@%\r
+\r
+%@% Showing FILE1...\r
+%@%\r
+call :_extract FILE1\r
+%@%\r
+\r
+%@% Showing INIFILE...\r
+%@%\r
+call :_extract INIFILE\r
+%@%\r
+\r
+%@% Showing FILE2...\r
+%@%\r
+call :_extract FILE2\r
+%@%\r
+\r
+%@% Showing LIBRARY...\r
+%@%\r
+call :_extract LIBRARY\r
+%@%\r
+\r
+%@% Trying hex...\r
+%@%\r
+call :_hexchar 01020304\r
+\r
+%Q%\r
+\r
+\r
+\r
+-----EOF-----\r
+\r
+\r
+\r
+-----LIBRARY-----\r
+\r
+\r
+\r
+===\r
+\r
+ Sets _line to the line number that is found for\r
+ the -----SECTION----- "embedded file" found in this file\r
+\r
+===\r
+:_find_section\r
+\r
+set _line=\r
+for /f "delims=:" %%a in ('findstr /b /n /c:-----%1----- %~sf0') do (\r
+  set _line=%%a\r
+  )\r
+%C%\r
+if "%_line%"=="" (\r
+  %@% Section not found!\r
+  %E%\r
+  )\r
+%Q%\r
+\r
+\r
+\r
+===\r
+\r
+ Extract a section from this batch file.  Blank lines and\r
+ the special illegal character are excluded from the output\r
+\r
+===\r
+:_extract\r
+\r
+call :_find_section %1\r
+%QOE%\r
+for /f "delims=%_ill% skip=%_line%" %%a in (%~sf0) do (\r
+  if "%%a"=="-----EOF-----" (\r
+    %Q%\r
+    )\r
+  %@%%%a\r
+  )\r
+%Q%\r
+\r
+\r
+\r
+===\r
+\r
+ Set variable to a generated unique string (we sure hope)\r
+\r
+===\r
+:_unique_str\r
+\r
+set _unique_str=%time::=_%\r
+set _unique_str=%_unique_str:.=_%\r
+set _unique_str=%_unique_str%_%random%\r
+set %1=%_unique_str%\r
+set _unique_str=\r
+%Q%\r
+\r
+\r
+\r
+===\r
+\r
+ Display arbitrary characters, given hex input...  Except CR, LF, ':'\r
+\r
+===\r
+:_hexchar\r
+\r
+:: Next line is word-wrapped.  Add the hex and some magic to the Registry\r
+reg add hkcu\goto_crazy /v hex /t reg_binary /d 0D0A%13A4D414749434D414749430D0A /f %_%\r
+\r
+:: Save the data out of the Registry\r
+call :_unique_str _hive\r
+reg save hkcu\goto_crazy %_hive%.tmp %_%\r
+\r
+:: Clean the data out of the Registry\r
+reg delete hkcu\goto_crazy /f %_%\r
+\r
+:: Extract the data by the associated magic\r
+call :_unique_str _magic\r
+findstr MAGICMAGIC %_hive%.tmp > %_magic%.tmp 2> NUL\r
+\r
+:: Clean-up\r
+del %_hive%.tmp\r
+set _hive=\r
+\r
+:: Display the requested data; it's before the magic\r
+for /f "delims=:" %%a in (%_magic%.tmp) do (\r
+  %@%%%a\r
+  )\r
+\r
+:: Clean-up\r
+del %_magic%.tmp\r
+set _magic=\r
+%Q%\r
+\r
+\r
+\r
+===\r
+\r
+ Sets up the environment for common features used in the batch file\r
+\r
+===\r
+:@:\r
+\r
+:: Don't show commands\r
 @echo off\r
-mkdir bin 2>nul\r
-\r
-echo [Version] > bin/winvblk.inf\r
-echo Signature="$Windows NT$" >> bin/winvblk.inf\r
-echo Class=SCSIAdapter >> bin/winvblk.inf\r
-echo ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318} >> bin/winvblk.inf\r
-echo Provider=WinVBlock >> bin/winvblk.inf\r
-echo CatalogFile=winvblk.cat >> bin/winvblk.inf\r
-echo DriverVer=01/14/2010,1.0 >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [Manufacturer] >> bin/winvblk.inf\r
-echo WinVBlock=WinVBlockDriver,,NTamd64 >> bin/winvblk.inf\r
-echo.  >> bin/winvblk.inf\r
-echo [WinVBlockDriver] >> bin/winvblk.inf\r
-echo "WinVBlock Driver"=WinVBlock,Root\WinVBlock, Detected\WinVBlock >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [WinVBlockDriver.NTamd64] >> bin/winvblk.inf\r
-echo "WinVBlock Driver"=WinVBlock.NTamd64,Root\WinVBlock, Detected\WinVBlock >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [SourceDisksNames] >> bin/winvblk.inf\r
-echo 0="Install Disk" >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [SourceDisksFiles] >> bin/winvblk.inf\r
-echo winvblk.exe=0 >> bin/winvblk.inf\r
-echo wvblk32.sys=0 >> bin/winvblk.inf\r
-echo wvblk64.sys=0 >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [DestinationDirs] >> bin/winvblk.inf\r
-echo Files.Driver=12 >> bin/winvblk.inf\r
-echo Files.Driver.NTamd64=12 >> bin/winvblk.inf\r
-echo Files.Tools=11 >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [Files.Driver] >> bin/winvblk.inf\r
-echo wvblk32.sys >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [Files.Driver.NTamd64] >> bin/winvblk.inf\r
-echo wvblk64.sys >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [Files.Tools] >> bin/winvblk.inf\r
-echo winvblk.exe >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [WinVBlock] >> bin/winvblk.inf\r
-echo CopyFiles=Files.Driver,Files.Tools >> bin/winvblk.inf\r
-#echo DelReg=DelReg >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [WinVBlock.NTamd64] >> bin/winvblk.inf\r
-echo CopyFiles=Files.Driver.NTamd64,Files.Tools >> bin/winvblk.inf\r
-#echo DelReg=DelReg >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [WinVBlock.Services] >> bin/winvblk.inf\r
-echo AddService=WinVBlock,0x00000002,Service >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [WinVBlock.NTamd64.Services] >> bin/winvblk.inf\r
-echo AddService=WinVBlock,0x00000002,Service.NTamd64 >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [Service] >> bin/winvblk.inf\r
-echo ServiceType=0x00000001 >> bin/winvblk.inf\r
-echo StartType=0x00000000 >> bin/winvblk.inf\r
-echo ErrorControl=0x00000001 >> bin/winvblk.inf\r
-echo ServiceBinary=%%12%%\wvblk32.sys >> bin/winvblk.inf\r
-#echo LoadOrderGroup=NDIS >> bin/winvblk.inf\r
-echo. >> bin/winvblk.inf\r
-echo [Service.NTamd64] >> bin/winvblk.inf\r
-echo ServiceType=0x00000001 >> bin/winvblk.inf\r
-echo StartType=0x00000000 >> bin/winvblk.inf\r
-echo ErrorControl=0x00000001 >> bin/winvblk.inf\r
-echo ServiceBinary=%%12%%\wvblk64.sys >> bin/winvblk.inf\r
-#echo LoadOrderGroup=NDIS >> bin/winvblk.inf\r
-#echo. >> bin/winvblk.inf\r
-#echo [DelReg] >> bin/winvblk.inf\r
-#echo HKLM,SYSTEM\CurrentControlSet\Services\atapi,Group >> bin/winvblk.inf\r
-\r
-echo [Disks] > bin/txtsetup.oem\r
-echo disk = "WINVBLOCK DISK",\winvblk.inf,\ >> bin/txtsetup.oem\r
-echo. >> bin/txtsetup.oem\r
-echo [Defaults] >> bin/txtsetup.oem\r
-echo scsi = WINVBLOCK >> bin/txtsetup.oem\r
-echo. >> bin/txtsetup.oem\r
-echo [scsi] >> bin/txtsetup.oem\r
-echo WINVBLOCK = "WinVBlock Driver" >> bin/txtsetup.oem\r
-echo. >> bin/txtsetup.oem\r
-echo [Files.scsi.WINVBLOCK] >> bin/txtsetup.oem\r
-echo driver = disk,wvblk32.sys,WinVBlock >> bin/txtsetup.oem\r
-echo inf = disk,winvblk.inf >> bin/txtsetup.oem\r
+\r
+:: Display a message\r
+set @=echo.\r
+\r
+:: Exit a function or the batch file\r
+set Q=goto :eof\r
+\r
+:: Exit a function or the batch file on error condition\r
+set QOE=if errorlevel 1 %Q%\r
+\r
+:: Suppress standard output and error messages\r
+set _= ^> NUL 2^>^&1\r
+\r
+:: Signal an error condition\r
+set E=cd:%_%\r
+\r
+:: Clear an error condition\r
+set C=cd.%_%\r
+\r
+:: The unique character not to be used in "file" sections.  Please\r
+:: note that if you are displaying this very LIBRARY section, you\r
+:: will be missing this special character, since it's illegal!\r
+set _ill=#\r
+\r
+:: Goto the _main function\r
+goto :_main\r
+\r
+\r
+\r
+-----EOF-----\r
+\r
+\r
+\r
+-----INIFILE-----\r
+\r
+\r
+\r
+[IniSection]\r
+IniEntry = IniValue\r
+\r
+\r
+\r
+-----EOF-----\r
+\r
+\r
+\r
+-----FILE1-----\r
+\r
+\r
+\r
+this is some random text now?\r
+\r
+(:inp\r
+echo input\r
+echo input2\r
+goto :eof\r
+\r
+:skip\r
+)\r
+) )\r
+) ) )\r
+) ) ) )\r
+\r
+\r
+echo Line found at: %_line%\r
+\r
+\r
+echo Skipped\r
+goto :ha\r
+ -----FILE1-----\r
+blah blah\r
+\r
+\r
+\r
+-----FILE2-----\r
+:ha\r
+echo got to ha\r
+goto :eof\r
+\r
+\r
+\r
+-----EOF-----
\ No newline at end of file