[driver] Rename driver__dispatch_not_supported_ to WvIrpNotSupported
[people/sha0/winvblock.git] / makeinf.bat
1 =============================@( GOto  :@:  CRAZY )=============================\r
2 123456789A123456789A123456789A123456789A123456789A123456789A123456789A123456789\r
3 ÉÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍ»\r
4 º _ _ _ Each line of this file is optimally formatted for 79 columns. _ _ _ _ º\r
5 º _ _ _ Best viewed from a command-line interface (a DOS box), with the _ _ _ º\r
6 º _ _ _ _ 'type' command or in Windows Notepad with the Terminal font _ _ _ _ º\r
7 ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ\r
8 º Programmed by Shao Miller @ 2010-05-14_19:52. _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ º\r
9 ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ\r
10 \r
11 \r
12 \r
13 -----MAIN-----\r
14 ===\r
15 \r
16  Extract the .INF file for WinVBlock's bus driver\r
17 \r
18 ===\r
19 :_main\r
20 \r
21 %@% Extracting WinVBlk.INF...\r
22 %@%\r
23 mkdir bin %_%\r
24 call :_extract WinVBlk > bin\WinVBlk.INF\r
25 %Q%\r
26 \r
27 -----EOF-----\r
28 \r
29 \r
30 \r
31 -----WinVBlk-----\r
32 [Version]\r
33 Signature="$Windows NT$"\r
34 Class=SCSIAdapter\r
35 ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}\r
36 Provider=WinVBlock\r
37 CatalogFile=winvblk.cat\r
38 DriverVer=05/16/2010,0.0.0.8\r
39  \r
40 [Manufacturer]\r
41 WinVBlock=WinVBlockDriver,,NTamd64\r
42   \r
43 [WinVBlockDriver]\r
44 "WinVBlock Driver"=WinVBlock,Root\WinVBlock, Detected\WinVBlock\r
45  \r
46 [WinVBlockDriver.NTamd64]\r
47 "WinVBlock Driver"=WinVBlock.NTamd64,Root\WinVBlock, Detected\WinVBlock\r
48  \r
49 [SourceDisksNames]\r
50 0="Install Disk"\r
51  \r
52 [SourceDisksFiles]\r
53 winvblk.exe=0\r
54 wvblk32.sys=0\r
55 wvblk64.sys=0\r
56  \r
57 [DestinationDirs]\r
58 Files.Driver=12\r
59 Files.Driver.NTamd64=12\r
60 Files.Tools=11\r
61  \r
62 [Files.Driver]\r
63 wvblk32.sys\r
64  \r
65 [Files.Driver.NTamd64]\r
66 wvblk64.sys\r
67  \r
68 [Files.Tools]\r
69 winvblk.exe\r
70  \r
71 [WinVBlock]\r
72 CopyFiles=Files.Driver,Files.Tools\r
73  \r
74 [WinVBlock.NTamd64]\r
75 CopyFiles=Files.Driver.NTamd64,Files.Tools\r
76  \r
77 [WinVBlock.Services]\r
78 AddService=WinVBlock,0x00000002,Service\r
79  \r
80 [WinVBlock.NTamd64.Services]\r
81 AddService=WinVBlock,0x00000002,Service.NTamd64\r
82  \r
83 [Service]\r
84 ServiceType=0x00000001\r
85 StartType=0x00000000\r
86 ErrorControl=0x00000001\r
87 ServiceBinary=%12%\wvblk32.sys\r
88  \r
89 [Service.NTamd64]\r
90 ServiceType=0x00000001\r
91 StartType=0x00000000\r
92 ErrorControl=0x00000001\r
93 ServiceBinary=%12%\wvblk64.sys\r
94 -----EOF-----\r
95 \r
96 \r
97 \r
98 -----TESTING-----\r
99 This is a wacky batch file.  There is stuff all over the place.\r
100 More comments.\r
101 \r
102 \r
103 :_test\r
104 \r
105 %@% This is the main part of the batch file\r
106 %@%\r
107 \r
108 %@% Showing FILE1...\r
109 %@%\r
110 call :_extract FILE1\r
111 %@%\r
112 \r
113 %@% Showing INIFILE...\r
114 %@%\r
115 call :_extract INIFILE\r
116 %@%\r
117 \r
118 %@% Showing FILE2...\r
119 %@%\r
120 call :_extract FILE2\r
121 %@%\r
122 \r
123 %@% Showing LIBRARY...\r
124 %@%\r
125 call :_extract LIBRARY\r
126 %@%\r
127 \r
128 %@% Trying hex...\r
129 %@%\r
130 call :_hexchar 01020304\r
131 \r
132 %Q%\r
133 \r
134 \r
135 \r
136 -----EOF-----\r
137 \r
138 \r
139 \r
140 -----LIBRARY-----\r
141 \r
142 \r
143 \r
144 ===\r
145 \r
146  Sets _line to the line number that is found for\r
147  the -----SECTION----- "embedded file" found in this file\r
148 \r
149 ===\r
150 :_find_section\r
151 \r
152 set _line=\r
153 for /f "delims=:" %%a in ('findstr /b /n /c:-----%1----- %~sf0') do (\r
154   set _line=%%a\r
155   )\r
156 %C%\r
157 if "%_line%"=="" (\r
158   %@% Section not found!\r
159   %E%\r
160   )\r
161 %Q%\r
162 \r
163 \r
164 \r
165 ===\r
166 \r
167  Extract a section from this batch file.  Blank lines and\r
168  the special illegal character are excluded from the output\r
169 \r
170 ===\r
171 :_extract\r
172 \r
173 call :_find_section %1\r
174 %QOE%\r
175 for /f "delims=%_ill% skip=%_line%" %%a in (%~sf0) do (\r
176   if "%%a"=="-----EOF-----" (\r
177     %Q%\r
178     )\r
179   %@%%%a\r
180   )\r
181 %Q%\r
182 \r
183 \r
184 \r
185 ===\r
186 \r
187  Set variable to a generated unique string (we sure hope)\r
188 \r
189 ===\r
190 :_unique_str\r
191 \r
192 set _unique_str=%time::=_%\r
193 set _unique_str=%_unique_str:.=_%\r
194 set _unique_str=%_unique_str%_%random%\r
195 set %1=%_unique_str%\r
196 set _unique_str=\r
197 %Q%\r
198 \r
199 \r
200 \r
201 ===\r
202 \r
203  Display arbitrary characters, given hex input...  Except CR, LF, ':'\r
204 \r
205 ===\r
206 :_hexchar\r
207 \r
208 :: Next line is word-wrapped.  Add the hex and some magic to the Registry\r
209 reg add hkcu\goto_crazy /v hex /t reg_binary /d 0D0A%13A4D414749434D414749430D0A /f %_%\r
210 \r
211 :: Save the data out of the Registry\r
212 call :_unique_str _hive\r
213 reg save hkcu\goto_crazy %_hive%.tmp %_%\r
214 \r
215 :: Clean the data out of the Registry\r
216 reg delete hkcu\goto_crazy /f %_%\r
217 \r
218 :: Extract the data by the associated magic\r
219 call :_unique_str _magic\r
220 findstr MAGICMAGIC %_hive%.tmp > %_magic%.tmp 2> NUL\r
221 \r
222 :: Clean-up\r
223 del %_hive%.tmp\r
224 set _hive=\r
225 \r
226 :: Display the requested data; it's before the magic\r
227 for /f "delims=:" %%a in (%_magic%.tmp) do (\r
228   %@%%%a\r
229   )\r
230 \r
231 :: Clean-up\r
232 del %_magic%.tmp\r
233 set _magic=\r
234 %Q%\r
235 \r
236 \r
237 \r
238 ===\r
239 \r
240  Sets up the environment for common features used in the batch file\r
241 \r
242 ===\r
243 :@:\r
244 \r
245 :: Don't show commands\r
246 @echo off\r
247 \r
248 :: Display a message\r
249 set @=echo.\r
250 \r
251 :: Exit a function or the batch file\r
252 set Q=goto :eof\r
253 \r
254 :: Exit a function or the batch file on error condition\r
255 set QOE=if errorlevel 1 %Q%\r
256 \r
257 :: Suppress standard output and error messages\r
258 set _= ^> NUL 2^>^&1\r
259 \r
260 :: Signal an error condition\r
261 set E=cd:%_%\r
262 \r
263 :: Clear an error condition\r
264 set C=cd.%_%\r
265 \r
266 :: The unique character not to be used in "file" sections.  Please\r
267 :: note that if you are displaying this very LIBRARY section, you\r
268 :: will be missing this special character, since it's illegal!\r
269 set _ill=#\r
270 \r
271 :: Goto the _main function\r
272 goto :_main\r
273 \r
274 \r
275 \r
276 -----EOF-----\r
277 \r
278 \r
279 \r
280 -----INIFILE-----\r
281 \r
282 \r
283 \r
284 [IniSection]\r
285 IniEntry = IniValue\r
286 \r
287 \r
288 \r
289 -----EOF-----\r
290 \r
291 \r
292 \r
293 -----FILE1-----\r
294 \r
295 \r
296 \r
297 this is some random text now?\r
298 \r
299 (:inp\r
300 echo input\r
301 echo input2\r
302 goto :eof\r
303 \r
304 :skip\r
305 )\r
306 ) )\r
307 ) ) )\r
308 ) ) ) )\r
309 \r
310 \r
311 echo Line found at: %_line%\r
312 \r
313 \r
314 echo Skipped\r
315 goto :ha\r
316  -----FILE1-----\r
317 blah blah\r
318 \r
319 \r
320 \r
321 -----FILE2-----\r
322 :ha\r
323 echo got to ha\r
324 goto :eof\r
325 \r
326 \r
327 \r
328 -----EOF-----